import type { InterviewStateEntry } from './types'; export declare function readDashboardAuthFile(port: number): Promise<{ token: string; pid: number; startedAt: number; } | null>; interface RegisteredSession { sessionID: string; directory: string; pid: number; registeredAt: number; } export declare const DEFAULT_DASHBOARD_PORT = 43211; export interface DashboardConfig { port: number; outputFolder: string; sessionClient?: { list: (params?: Record) => Promise<{ data?: Array<{ directory?: string; time?: { updated?: number; }; }>; }>; }; } export declare function createDashboardServer(config: DashboardConfig): { start: () => Promise; close: () => void; registerSession: (info: RegisteredSession) => void; removeSession: (sessionID: string) => void; pushState: (entry: InterviewStateEntry) => void; getState: (interviewId: string) => InterviewStateEntry | undefined; storeAnswers: (interviewId: string, answers: Array<{ questionId: string; answer: string; }>) => void; getPendingAnswers: (interviewId: string) => Array<{ questionId: string; answer: string; }> | null; consumePendingAnswers: (interviewId: string) => Array<{ questionId: string; answer: string; }> | null; consumeNudgeAction: (interviewId: string) => 'more-questions' | 'confirm-complete' | null; authToken: string; discoverSessionDirectories: () => Promise; addManualFolder: (dir: string) => void; removeManualFolder: (dir: string) => void; getManualFolders: () => string[]; setScanDays: (days: number) => void; getScanDays: () => number; refreshFiles: () => Promise; }; export declare function probeDashboard(port: number): Promise<{ alive: boolean; timestamp: number; }>; export declare function tryBecomeDashboard(config: DashboardConfig, maxAttempts?: number): Promise | null>; export {};