import { PermitsClient } from "./clients/permits"; import { ExecutionsClient } from "./clients/executions"; import { ExecuteClient } from "./clients/execute"; import { ProxyClient } from "./clients/proxy"; import { JobsClient } from "./clients/jobs"; import { RequestsClient } from "./clients/requests"; import { ApiKeysClient } from "./clients/api-keys"; import { type RequestFreshnessOptions, type RequestIdProvider } from "./http"; import type { RetryConfig } from "./retry"; import type { AuthedHealthResponse, CreateApiKeyResponse, HealthResponse, ListApiKeysResponse, PermitRequest, PermitResponse } from "./types"; export type { RequestFreshnessOptions }; export type { RequestIdProvider }; export interface KeelClientOptions { /** Base URL of the Keel API. Falls back to KEEL_BASE_URL env var. */ baseUrl?: string; /** API key. Falls back to KEEL_API_KEY env var. */ apiKey?: string; /** * Request timeout in **seconds** (matching other Keel SDKs). * Default: 30. */ timeout?: number; /** * @deprecated Use `timeout` (seconds) instead. * Request timeout in milliseconds. */ timeoutMs?: number; /** Static request ID sent on every request. */ requestId?: string; /** Dynamic request-ID provider. */ requestIdProvider?: RequestIdProvider; /** * When true or an options object, automatically adds X-Keel-Timestamp and X-Keel-Nonce headers * to every authenticated request. Default: false. */ requestFreshness?: boolean | RequestFreshnessOptions; /** Retry configuration. Defaults to DEFAULT_RETRY_CONFIG when omitted. */ retryConfig?: RetryConfig; } export declare class KeelClient { readonly permits: PermitsClient; readonly executions: ExecutionsClient; readonly execute: ExecuteClient; readonly proxy: ProxyClient; readonly jobs: JobsClient; readonly requests: RequestsClient; readonly apiKeys: ApiKeysClient; private readonly http; constructor(options?: KeelClientOptions); createPermit(request: PermitRequest): Promise; createPermitWithMeta(request: PermitRequest): Promise<{ permit: PermitResponse; request_id?: string; }>; /** @deprecated Use `client.apiKeys.create()` instead. */ createApiKey(): Promise; /** @deprecated Use `client.apiKeys.list()` instead. */ listApiKeys(): Promise; /** @deprecated Use `client.apiKeys.revoke(keyId)` instead. */ revokeApiKey(keyId: string): Promise; getHealth(): Promise; getAuthedHealth(): Promise; }