import { DefaultValues } from "../schema.cjs";
import { BaseClient, ClientConfig, HeaderValue, RequestHook, getApiKey } from "./base.cjs";
import { AssistantsClient } from "./assistants/index.cjs";
import { ClientAssembledToolCall, ToolCallStatus } from "./stream/handles/tools.cjs";
import { AssembledMessage, MessageAssembler, MessageAssemblyUpdate, StreamingMessage } from "./stream/messages.cjs";
import { AnyMediaHandle, AudioMedia, FileMedia, ImageMedia, MediaAssembler, MediaAssemblerCallbacks, MediaAssemblerOptions, MediaAssemblyError, MediaAssemblyErrorKind, MediaBase, MediaBlockType, VideoMedia } from "./stream/media.cjs";
import { AgentServerAdapter, TransportAdapter } from "./stream/transport.cjs";
import { EventForChannel, EventForChannels, EventMethodByChannel, EventSubscription, InputModule, InterruptPayload, MessageSubscription, SessionOrderingState, StateModule, SubscribeOptions, ThreadExtension, ThreadExtensions, ThreadModules, ThreadStreamOptions, ThreadStreamTransport, ThreadStreamTransportKind, UnwrapExtension } from "./stream/types.cjs";
import { SubagentHandle } from "./stream/handles/subagents.cjs";
import { SubgraphHandle, Subscribable } from "./stream/handles/subgraphs.cjs";
import { inferChannel, matchesSubscription } from "./stream/subscription.cjs";
import { ProtocolError } from "./stream/error.cjs";
import { SubscriptionHandle, ThreadStream } from "./stream/index.cjs";
import { ThreadsClient } from "./threads/index.cjs";
import { RunsClient } from "./runs/index.cjs";
import { CronsClient } from "./crons/index.cjs";
import { StoreClient } from "./store/index.cjs";
import { UiClient } from "./ui-internal/index.cjs";
import { HeaderValue as HeaderValue$1, ProtocolRequestHook, ProtocolSseTransportOptions, ProtocolTransportPaths, ProtocolWebSocketTransportOptions } from "./stream/transport/types.cjs";
import { ProtocolSseTransportAdapter } from "./stream/transport/http.cjs";
import { ProtocolWebSocketTransportAdapter } from "./stream/transport/websocket.cjs";
import { HttpAgentServerAdapter, HttpAgentServerAdapterOptions } from "./stream/transport/agent-server.cjs";

//#region src/client/index.d.ts
declare class Client<TStateType = DefaultValues, TUpdateType = TStateType, TCustomEventType = unknown> {
  /**
   * The client for interacting with assistants.
   */
  assistants: AssistantsClient;
  /**
   * The client for interacting with threads.
   */
  threads: ThreadsClient<TStateType, TUpdateType>;
  /**
   * The client for interacting with runs.
   */
  runs: RunsClient<TStateType, TUpdateType, TCustomEventType>;
  /**
   * The client for interacting with cron runs.
   */
  crons: CronsClient;
  /**
   * The client for interacting with the KV store.
   */
  store: StoreClient;
  /**
   * The client for interacting with the UI.
   * @internal Used by LoadExternalComponent and the API might change in the future.
   */
  "~ui": UiClient;
  /**
   * @internal Used to obtain a stable key representing the client.
   */
  private "~configHash";
  constructor(config?: ClientConfig);
}
/**
 * @internal Used to obtain a stable key representing the client.
 */
declare function getClientConfigHash(client: Client): string | undefined;
//#endregion
export { Client, getClientConfigHash };
//# sourceMappingURL=index.d.cts.map