import type { ConnectionCheckpoint, ConnectionNeed, ConnectionWait } from '@xopcai/gateway-contract'; import { type SessionInput } from './session-input-repository.js'; export declare function onConnectionWaitChanged(listener: (sessionKey: string) => void): () => void; export declare function publishConnectionWait(sessionKey: string): void; export declare function getConnectionWait(id: string): ConnectionWait | undefined; export declare function getActiveConnectionWait(sessionKey: string): ConnectionWait | undefined; export declare function isConnectionSuspended(sessionKey: string, runId: string): boolean; export declare function updateConnectionWait(wait: ConnectionWait, expectedVersion: number): ConnectionWait; export declare function requireSessionConnection(input: { sessionKey: string; principalId: string; agentId: string; summary: string; needs: ConnectionNeed[]; checkpoint?: Omit; }): { status: 'connection_required' | 'skipped' | 'objective_conflict'; waitId?: string; }; /** The input and the wait transition commit together, using the existing queue's unique key. */ export declare function queueConnectionResolution(wait: ConnectionWait, resolution: 'continued' | 'skipped'): ConnectionWait; export declare function consumeConnectionResume(input: SessionInput): boolean; export declare function connectionBindings(sessionKey: string): ConnectionNeed[]; export declare function connectionBinding(sessionKey: string, connectorId: string): string | undefined; /** New input wins over an outstanding auto-resume intent, including an already queued resume. */ export declare function invalidateConnectionResumeIntent(sessionKey: string): void; export declare function reviseCurrentConnectionObjective(sessionKey: string, summary: string | undefined): void; export declare function cancelConnectionObjective(sessionKey: string): void; export declare function getConnectionResumeInput(sessionKey: string, runId: string): SessionInput | undefined; export declare function listConnectionWaitsToCheck(): ConnectionWait[];