import { ClientSession, type ClientSessionContext } from "#client/session.js"; import type { MessageResponse } from "#client/message-response.js"; import type { CreateSessionOptions, SendTurnInput } from "#client/types.js"; /** Result of explicitly creating an ID-addressed client session. */ export interface CreatedClientSession { readonly response: MessageResponse; readonly session: ClientSession; } /** Result of creating a session before its first turn. */ export interface CreatedIdleClientSession { readonly session: ClientSession; } /** Collection surface for explicitly creating or attaching ID-addressed sessions. */ export declare class ClientSessions { #private; /** @internal */ constructor(context: ClientSessionContext); /** Creates a session and starts its first turn with a message. */ create(input: SendTurnInput & CreateSessionOptions): Promise>; /** Creates a conversation session before its first turn. */ create(options?: CreateSessionOptions): Promise; /** Attaches a fixed handle to a known session ID without performing I/O. */ attach(sessionId: string, options?: { readonly streamIndex?: number; }): ClientSession; }