import type { OpenCodeTransport } from './transport.js'; import type { OpenCodeExecutionContext } from './execution-context.js'; export type OpencodeClient = OpenCodeTransport; export declare class OpenCodeSharedServerInvalidationError extends Error { constructor(error: Error); } export interface AcquiredOpenCodeClient { client: OpencodeClient; release: () => void; invalidate: (error: Error) => void; invalidationSignal: AbortSignal; acquireSession: (sessionKey: string, abortSignal?: AbortSignal) => AcquiredOpenCodeClient | Promise; } export declare function acquireOpenCodeClient(model: string | undefined, apiKey: string | undefined, childProcessEnv: Readonly> | undefined, abortSignal?: AbortSignal, sessionId?: string, preparedMcp?: { serverConfig?: Record; identity?: string; dispose?: () => Promise; }, skillsEnabled?: boolean, executionContext?: OpenCodeExecutionContext): Promise; export declare function sharedServerInvalidationError(signal: AbortSignal): OpenCodeSharedServerInvalidationError; export declare function throwIfSharedServerInvalidated(signal: AbortSignal): void; export declare function resetSharedServerPool(): void; export declare function prepareSharedServerPoolForForcedShutdown(): Promise; //# sourceMappingURL=server-pool.d.ts.map