import type { ProblemsSnapshotMessage, WorkspaceProblem, WorkspaceProblemRecord } from '@longrun-ai/kernel/types/problems';
import type { WebSocketMessage } from '@longrun-ai/kernel/types/wire';
export type ProblemFilter = Readonly<{
    source?: WorkspaceProblem['source'];
    path?: string;
    problemId?: string;
    resolved?: boolean;
}>;
export declare function setProblemsBroadcaster(fn: (msg: WebSocketMessage) => void): void;
export declare function getProblemsSnapshot(): {
    version: number;
    problems: WorkspaceProblemRecord[];
};
export declare function createProblemsSnapshotMessage(): ProblemsSnapshotMessage;
export declare function upsertProblem(problem: WorkspaceProblem): void;
export declare function listProblems(filter?: ProblemFilter): WorkspaceProblemRecord[];
export declare function removeProblem(problemId: string): void;
export declare function removeProblemsByPrefix(prefix: string): void;
export declare function reconcileProblemsByPrefix(prefix: string, desired: ReadonlyArray<WorkspaceProblem>): void;
export declare function clearResolvedProblems(): number;
export declare function clearProblems(filter?: ProblemFilter): number;
