export declare const DEFAULT_ASK_PARENT_TIMEOUT_MS = 60000; export declare const DEFAULT_PARENT_SESSION_ID = "global"; export interface QueuedParentMessage { agentId: string; sessionId: string; requestId: string; kind: "message" | "ask"; message: string; createdAt: number; } export interface ParentReply { requestId: string; text: string; repliedAt: number; } interface QueueOptions { sessionId?: string; } interface AskParentOptions extends QueueOptions { signal?: AbortSignal; timeoutMs?: number; } interface ReplyOptions extends QueueOptions { } export declare class ParentBridge { private readonly queues; private readonly pendingAsks; private readonly pendingAskIdsByAgent; private readonly messageIndex; private readonly queueListeners; private readonly defaultAskTimeoutMs; constructor(defaultAskTimeoutMs?: number); onQueue(listener: () => void): () => void; messageParent(agentId: string, message: string, options?: QueueOptions): QueuedParentMessage; askParent(agentId: string, message: string, options?: AskParentOptions): Promise; drainMessages(agentId: string): QueuedParentMessage[]; drainAllMessages(): QueuedParentMessage[]; drainAllMessagesForSession(sessionId: string): QueuedParentMessage[]; hasQueuedMessages(sessionId?: string): boolean; getPendingAskCount(agentId?: string): number; getMessage(requestId: string, options?: QueueOptions): QueuedParentMessage | undefined; getPendingAskCountForSession(sessionId: string): number; replyToAsk(requestId: string, text: string, options?: ReplyOptions): boolean; rejectAsk(requestId: string, error: string | Error): boolean; disposeAgent(agentId: string, reason?: string): void; disposeSession(sessionId: string, reason?: string): void; disposeAll(reason?: string): void; private enqueue; private removeQueuedMessage; private removePendingAskId; private setQueuedMessages; private emitQueueListeners; } export declare const parentBridge: ParentBridge; export {};