import type { Context } from "../../context.ts"; import type { AssistantResponseMetadata, AssistantStreamObserver } from "../../execution/assistant.ts"; import { type AssistantEffectPendingOperation, type DeferredEffectPendingOperation, type OperationError, type OperationState, type SettledAssistantMessage } from "../../session/types.ts"; import type { Lane } from "../lane.ts"; import type { Drive, ProcedureResult } from "../types.ts"; export type AssistantResponseLifecycle = { observer: AssistantStreamObserver; afterResponse(message: SettledAssistantMessage, metadata: AssistantResponseMetadata, context: Context): Promise; close(): Promise; }; export declare function openAssistantResponse(lane: Lane, drive: Drive, responseEntryId: string, recovery?: boolean): AssistantResponseLifecycle; type ResponseIntent = AssistantEffectPendingOperation | DeferredEffectPendingOperation; type ConfigurationFailureState = Extract; /** Publish a non-retryable request-configuration failure before reserving response ids. */ export declare function publishConfigurationFailure(lane: Lane, drive: Drive, capability: TState, error: OperationError): Promise; /** Classify and atomically settle one assistant-generation or deferred-poll response. */ export declare function publishResponse(lane: Lane, drive: Drive, intent: ResponseIntent, response: SettledAssistantMessage, options?: { recovery?: true; }): Promise; export {}; //# sourceMappingURL=response.d.ts.map