/** * Surface domain state, Slack, Discord, web, ntfy, webhook, and terminal surfaces. */ import type { AutomationSurfaceKind } from '../../../automation/types.js'; export type SurfaceConnectionState = 'disabled' | 'connecting' | 'healthy' | 'degraded' | 'error'; export interface SurfaceRecord { readonly id: string; readonly kind: AutomationSurfaceKind; readonly label: string; readonly enabled: boolean; readonly state: SurfaceConnectionState; readonly configuredAt: number; readonly lastSeenAt?: number | undefined; readonly defaultRouteId?: string | undefined; readonly accountId?: string | undefined; readonly capabilities: readonly string[]; readonly metadata: Record; } export interface SurfaceDomainState { readonly revision: number; readonly lastUpdatedAt: number; readonly source: string; readonly surfaces: Map; readonly surfaceIds: string[]; readonly enabledSurfaceIds: string[]; readonly problemSurfaceIds: string[]; readonly totalHealthy: number; readonly totalDegraded: number; readonly totalDisabled: number; } export declare function createInitialSurfaceState(): SurfaceDomainState; //# sourceMappingURL=surfaces.d.ts.map