import { type CodexNativeClientOptions, type CodexNativeSnapshot, type CodexNativeThread, type CodexNativeMetadata, type NativeInteraction, type NativeInteractionResponse, type CodexNativeReceipt, type CodexNativePermissionPreset, type CodexNativePermissions } from "./codex-native-types.js"; /** Native shared-daemon connection. No terminal ownership inference and no historical thread loading. */ export declare class CodexNativeClient { private readonly rpc; readonly metadata: CodexNativeMetadata; private subscribed; private requests; private answered; private settings; private liveFileChanges; private constructor(); static connect(options: CodexNativeClientOptions): Promise; close(): void; listLoaded(): Promise; readThread(threadId: string): Promise; discover(): Promise; readSnapshot(threadId: string, exactTurnId?: string): Promise; subscribe(threadId: string): Promise; getInteractions(threadId: string): NativeInteraction[]; start(threadId: string, options: { text: string; clientUserMessageId: string; beforeDispatch?: (snapshot: CodexNativeSnapshot) => Promise; }): Promise; respond(interaction: NativeInteraction, response: NativeInteractionResponse): Promise<{ dispatchState: "sent"; }>; answerAsync(interaction: NativeInteraction, options: { answer: string; clientUserMessageId: string; }): Promise; readPermissions(threadId: string): Promise; updatePermissions(threadId: string, preset: CodexNativePermissionPreset): Promise; private requireLoaded; private resume; private readTurns; private readItems; private receive; private receiveItemEvent; private clearRequests; private validateInput; }