import { type ContextChangeRecord, type ContextDeleteRecord, type IBulkOperationResult } from '@api-client/core/events/BaseEvents.js';
import type { IRequestUiMeta } from '@api-client/core/models/RequestUiMeta.js';
declare const _default: {
    /**
     * Informs the application that the HttpProject has changed
     * The view should be updated and the project should be stored in the store.
     *
     * @param target Optional event target.
     */
    changed: (target?: HTMLElement) => void;
    State: Readonly<{
        /**
         * A specialized event to the general `change` to inform that a project item's
         * name has changes. Since the name exist in various contexts these have to be informed
         * about the change.
         *
         * @param key The key of the changed item
         * @param kind The kind of the changed item
         */
        nameChanged: (key: string, kind: string, target?: HTMLElement) => void;
    }>;
    Ui: Readonly<{
        /**
         * Triggered when a project is removed from a space.
         * Cleans the UI state for all data stored under the project.
         *
         * @param id The project id.
         * @param target Optional events target
         */
        delete: (id: string, target?: EventTarget) => Promise<ContextDeleteRecord | undefined>;
        HttpRequest: Readonly<{
            /**
             * Sets an UI state for an HTTP request in a project
             *
             * @param pid The project id.
             * @param id The id of the request.
             * @param target Optional events target
             * @returns The created object or undefined when the context store was not initialized.
             */
            set: (pid: string, id: string, meta: IRequestUiMeta, target?: EventTarget) => Promise<ContextChangeRecord<IRequestUiMeta> | undefined>;
            /**
             * Reads an UI state for an HTTP request in a project
             *
             * @param pid The project id.
             * @param id The id of the request.
             * @param target Optional events target
             */
            get: (pid: string, id: string, target?: EventTarget) => Promise<IRequestUiMeta | null | undefined>;
            /**
             * Reads an UI state for an HTTP request in a project
             *
             * @param pid The project id.
             * @param id The id of the request.
             * @param target Optional events target
             */
            getBulk: (pid: string, ids: string[], target?: EventTarget) => Promise<IBulkOperationResult<IRequestUiMeta> | undefined>;
            /**
             * Deletes an UI state for an HTTP request in a project
             *
             * @param pid The project id.
             * @param id The id of the request.
             * @param target Optional events target
             */
            delete: (pid: string, id: string, target?: EventTarget) => Promise<ContextDeleteRecord | undefined>;
        }>;
    }>;
};
export default _default;
//# sourceMappingURL=HttpProjectEvents.d.ts.map