import type { RuntimeBoardData, RuntimeWorkspaceMetadata } from "../core/api-contract.js";
export interface CreateWorkspaceMetadataMonitorDependencies {
    onMetadataUpdated: (workspaceId: string, metadata: RuntimeWorkspaceMetadata) => void;
}
export interface WorkspaceMetadataMonitor {
    connectWorkspace: (input: {
        workspaceId: string;
        workspacePath: string;
        board: RuntimeBoardData;
    }) => Promise<RuntimeWorkspaceMetadata>;
    updateWorkspaceState: (input: {
        workspaceId: string;
        workspacePath: string;
        board: RuntimeBoardData;
    }) => Promise<RuntimeWorkspaceMetadata>;
    disconnectWorkspace: (workspaceId: string) => void;
    disposeWorkspace: (workspaceId: string) => void;
    close: () => void;
}
export declare function createWorkspaceMetadataMonitor(deps: CreateWorkspaceMetadataMonitorDependencies): WorkspaceMetadataMonitor;
//# sourceMappingURL=workspace-metadata-monitor.d.ts.map