import { SyncTable } from "@cocalc/sync/table";
import { UsageInfo, ImmutableUsageInfo } from "../usage-info/types";
declare class UsageInfoTable {
    private readonly table?;
    private readonly project_id;
    private readonly servers;
    private readonly log;
    constructor(table: SyncTable, project_id: string);
    close(): void;
    private setup_watchers;
    private remove_stale_servers;
    private is_ready;
    private get_table;
    set(obj: {
        path: string;
        usage?: UsageInfo;
    }): Promise<void>;
    get(path: string): ImmutableUsageInfo | undefined;
    private handle_change_event;
    private handle_change;
    private ensure_watching;
    private start_watching;
    private stop_server;
    private remove_path;
}
export declare function register_usage_info_table(table: SyncTable, project_id: string): void;
export declare function get_usage_info_table(): UsageInfoTable | undefined;
export {};
