import type { GroupXConfig } from "../config.js"; import type { AssistantConversationMessage, AssistantMessageAccepted, AssistantSnapshot, AssistantStatus } from "../contracts/assistant.js"; import type { GroupXStore } from "../storage/types.js"; export interface OperatorBrain { status(): AssistantStatus; detail(): string | undefined; start(origin: string): Promise; prompt(text: string, signal: AbortSignal): Promise; cancel(): Promise; close(): Promise; } export declare class DisabledOperatorBrain implements OperatorBrain { status(): AssistantStatus; detail(): string | undefined; start(): Promise; prompt(): Promise; cancel(): Promise; close(): Promise; } export declare class CliOperatorBrain implements OperatorBrain { #private; constructor(config: GroupXConfig); status(): AssistantStatus; detail(): string | undefined; start(origin: string): Promise; prompt(text: string, signal: AbortSignal): Promise; cancel(): Promise; close(): Promise; } export interface AssistantHost { snapshot(): AssistantSnapshot; listMessages(): AssistantConversationMessage[]; postMessage(input: { clientCommandId: string; content: string; }, signal: AbortSignal): Promise; cancel(clientCommandId?: string): Promise<{ accepted: boolean; }>; start(origin: string): Promise; close(): Promise; } export interface GroupXAssistantHostOptions { config: GroupXConfig; store: Pick; brain?: OperatorBrain; } export declare class GroupXAssistantHost implements AssistantHost { #private; constructor(options: GroupXAssistantHostOptions); snapshot(): AssistantSnapshot; listMessages(): AssistantConversationMessage[]; start(origin: string): Promise; postMessage(input: { clientCommandId: string; content: string; }, signal: AbortSignal): Promise; cancel(_clientCommandId?: string): Promise<{ accepted: boolean; }>; close(): Promise; } //# sourceMappingURL=operator-runtime.d.ts.map