import { ContextChangeRecord, ContextDeleteRecord, IBulkOperationResult, IQueryResponse, IRequestUiMeta, IUrl } from "@api-client/core/build/browser.js";
import { HttpClientStore } from "./HttpClientStore.js";
import { SharedWorkerThread } from "../../bindings/base/SharedWorkerThread.js";
import { HttpClientIdbDatabase } from "./HttpClientIdbDatabase.js";
/**
 * A logic running in the shared worker that accesses datastore for API Client.
 */
export declare class IdbThread extends SharedWorkerThread implements HttpClientStore {
    store: HttpClientIdbDatabase;
    initializeStore(): Promise<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=IdbThread.d.ts.map