import { ContextChangeRecord, ContextDeleteRecord, IBulkOperationResult, IRequestUiMeta } from '@api-client/core/build/browser.js';
import { Store } from "./Store.js";
/**
 * A store for the HTTP Project requests UI.
 */
export interface ProjectUi {
    /**
     * Deletes all UI metadata for a project.
     *
     * @param key The key of the project to remove the meta for.
     * @returns The delete record
     */
    clear(key: string): Promise<ContextDeleteRecord>;
    /**
     * Sets an UI state for an HTTP request in a project
     *
     * @param pid The project key.
     * @param key The key of the request.
     * @returns The created object
     */
    set(pid: string, key: string, meta: IRequestUiMeta): Promise<ContextChangeRecord<IRequestUiMeta>>;
    /**
     * Reads an UI state for an HTTP request in a project
     *
     * @param pid The project key.
     * @param key The key of the request.
     * @returns The meta object
     */
    get(pid: string, key: string): Promise<IRequestUiMeta | undefined>;
    /**
     * Reads request UI meta in a bulk operation.
     * @param pid The project id
     * @param keys The list of keys to read.
     */
    getBulk(pid: string, keys: string[]): Promise<IBulkOperationResult<IRequestUiMeta>>;
    /**
     * Deletes an UI state for an HTTP request in a project
     *
     * @param pid The project key.
     * @param key The key of the request.
     * @returns The delete record
     */
    delete(pid: string, key: string): Promise<ContextDeleteRecord>;
}
export interface ProjectUiStore extends Store, ProjectUi {
}
//# sourceMappingURL=ProjectUi.d.ts.map