import type { OpencodeClient as V1Client } from '@opencode-ai/sdk/v2'; type RequestOptions = { signal?: AbortSignal; }; type SessionRequest = { sessionID: string; directory: string; }; type Result = { data?: T; error?: unknown; }; export interface OpenCodeSdkState { readonly directory: string; readonly stale: boolean; } export interface ManagedOpenCodeTransport extends OpenCodeTransport { readonly sdkState: OpenCodeSdkState; } export interface OpenCodeResolvedModel { providerID: string; modelID: string; variant?: string; } export interface OpenCodeMessage { info: { id: string; role: string; error?: unknown; summary?: unknown; time: { created: number; completed?: number; }; }; parts: Array<{ type: string; [key: string]: unknown; }>; } /** The operations used by TAKT's attempt and compaction runners. */ export interface OpenCodeTransport { nativeStructuredOutput?: boolean; requiresExplicitMcpTools?: boolean; resolveModel?(input: { directory: string; sessionID?: string; agent?: string; }, options?: RequestOptions): Promise; session: { create(input: NonNullable[0]>, options?: RequestOptions): Promise>; get(input: SessionRequest, options?: RequestOptions): Promise>; messages(input: SessionRequest, options?: RequestOptions): Promise>; promptAsync(input: Parameters[0] & { allowConfiguredMcpTools?: boolean; allowedMcpServers?: readonly string[]; }, options?: RequestOptions): Promise; abort(input: SessionRequest, options: RequestOptions): Promise>; summarize(input: Parameters[0], options?: RequestOptions): Promise; }; event: { subscribe(input: { directory: string; sessionID: string; }, options: RequestOptions): Promise<{ stream: AsyncIterable; }>; }; permission: { reply(input: { sessionID: string; requestID: string; directory: string; reply: 'once' | 'always' | 'reject'; }, options: RequestOptions): Promise; }; question: { reply(input: { requestID: string; directory: string; answers: string[][]; }, options: RequestOptions): Promise; reject(input: { requestID: string; directory: string; }, options: RequestOptions): Promise; }; } export {}; //# sourceMappingURL=transport.d.ts.map