import { ContextChangeRecord, ContextDeleteRecord, IApplication, IQueryResponse, IRequestUiMeta, IUrl, IBulkOperationResult } from "@api-client/core/build/browser.js";
import { HttpClientStoreBindings } from "../base/HttpClientStoreBindings.js";
import { IoCommand } from "../base/PlatformBindings.js";
/**
 * HTTP Client's specific data (URL history, UI state, etc).
 */
export declare class WebHttpClientStoreBindings extends HttpClientStoreBindings {
    protected workerUrl: string;
    worker?: SharedWorker;
    constructor(app: IApplication, workerUrl: string);
    initialize(): Promise<void>;
    initializeStore(): Promise<void>;
    createWorker(): Promise<void>;
    protected sendIoCommand(cmd: IoCommand): void;
    protected ioHandler(e: MessageEvent): void;
    wsHistory: {
        add: (url: string) => Promise<IUrl>;
        query: (query: string) => Promise<IQueryResponse<IUrl>>;
        delete: (url: string) => Promise<ContextDeleteRecord>;
        clear: () => Promise<void>;
    };
    urlHistory: {
        add: (url: string) => Promise<IUrl>;
        query: (query: string) => Promise<IQueryResponse<IUrl>>;
        delete: (url: string) => Promise<ContextDeleteRecord>;
        clear: () => Promise<void>;
    };
    projectUi: {
        clear: (key: string) => Promise<ContextDeleteRecord>;
        set: (pid: string, key: string, meta: IRequestUiMeta) => Promise<ContextChangeRecord<IRequestUiMeta>>;
        get: (pid: string, key: string) => Promise<IRequestUiMeta | undefined>;
        getBulk: (pid: string, keys: string[]) => Promise<IBulkOperationResult<IRequestUiMeta>>;
        delete: (pid: string, key: string) => Promise<ContextDeleteRecord>;
    };
}
//# sourceMappingURL=WebHttpClientStoreBindings.d.ts.map