# Gallerykit API reference

> Exports of @gallerykit/gallerykit.

Source: https://gallerykit.n.yatsyk.com/docs/gallerykit/jsdoc

## Classes

### CoreClient

Minimal API client for the core module.

```ts
class CoreClient
```

- `options: ClientOptions`
- `constructor(options: ClientOptions): CoreClient`
- `<T>(input: RequestInput): Promise<RequestResult<T>>` — Perform a JSON request and return a typed result.

## Functions

### createCoreClient

Create a new client instance.

```ts
createCoreClient(options: ClientOptions): CoreClient
```

### helloCore

Convenience greeting for quick smoke testing.

```ts
helloCore(name: string, excited?: boolean): string
```

## Types

### HttpMethod

Supported HTTP methods for client requests.

```ts
type HttpMethod = "GET" | "POST" | "PUT" | "PATCH" | "DELETE"
```

### ClientOptions

Configuration for creating a Core client.

```ts
type ClientOptions = {
  /**
   * Base URL for API requests (for example, "https://api.example.com").
   */
  baseUrl: string;
  /**
   * Optional API key for authenticated requests.
   */
  apiKey?: string;
  /**
   * Request timeout in milliseconds.
   */
  timeoutMs?: number;
}
```

### RequestInput

Input shape for a request.

```ts
type RequestInput = {
  /**
   * Path to append to the base URL (for example, "/v1/health").
   */
  path: string;
  /**
   * HTTP method to use.
   */
  method?: HttpMethod;
  /**
   * Optional JSON-serializable body.
   */
  body?: unknown;
}
```

### RequestResult

Result of a request.

```ts
type RequestResult = RequestResult<T>
```

## Constants

### moduleId

```ts
const moduleId: "core"
```
