import type { SurfaceKind } from '../../events/surfaces.js'; import type { SharedSessionMessage, SharedSessionRecord } from './session-types.js'; import type { SharedSessionInputRecord } from './session-intents.js'; export interface SharedSessionStoreSnapshot extends Record { readonly sessions: readonly SharedSessionRecord[]; readonly messages: readonly SharedSessionMessage[]; readonly inputs: readonly SharedSessionInputRecord[]; } export type SharedSessionAgentStatus = { readonly id: string; readonly status: 'pending' | 'running' | 'completed' | 'failed' | 'cancelled'; }; export type SharedSessionAgentStatusProvider = { getStatus(agentId: string): SharedSessionAgentStatus | null | undefined; }; export type SharedSessionMessageSender = { send(fromId: string, toId: string, content: string, options?: { kind?: 'directive'; }): boolean; }; export type SharedSessionEventPublisher = (event: string, payload: unknown) => void; export declare function dedupeSessionSurfaceKinds(participants: readonly { readonly surfaceKind: SurfaceKind; }[]): SurfaceKind[]; //# sourceMappingURL=session-broker-helpers.d.ts.map