import { SyncTable } from "smc-util/sync/table"; import { TypedMap } from "smc-webapp/app-framework"; import { DirectoryListingEntry } from "smc-util/types"; interface Listing { path: string; project_id?: string; listing?: DirectoryListingEntry[]; time?: Date; interest?: Date; missing?: number; error?: string; deleted?: string[]; } export declare type ImmutableListing = TypedMap; declare class ListingsTable { private readonly table?; private logger; private project_id; private watchers; constructor(table: SyncTable, logger: any, project_id: string); close(): void; private setup_watchers; private remove_stale_watchers; private log; private is_ready; private get_table; set(obj: Listing): Promise; get(path: string): ImmutableListing | undefined; private handle_change_event; private handle_change; private ensure_watching; private compute_listing; private start_watching; private stop_watching; private trim_old_paths; private remove_path; set_deleted(filename: string): Promise; is_deleted(filename: string): boolean; } export declare function register_listings_table(table: SyncTable, logger: any, project_id: string): void; export declare function get_listings_table(): ListingsTable | undefined; export {};