import { SdkBase, SdkOptions } from './SdkBase.js';
import { IHttpHistory, IHttpHistoryBulkAdd } from '../models/HttpHistory.js';
import { ContextChangeRecord, ContextDeleteRecord, ContextListResult, HistoryListOptions, IBulkOperationResult } from '../events/BaseEvents.js';
export declare class HistorySdk extends SdkBase {
    /**
     * Creates a history object.
     * A history object can be created per app (type = app) or a store's organization/[project/[request]].
     *
     * The user can always read their own history. If the history is created for a organization/project then
     * history records are shared as any other object in the organization.
     *
     * Note, history objects cannot be updated. They can only be created or deleted.
     *
     * @param history The history to create
     * @param request Optional request options.
     * @returns The key of the created history.
     */
    add(history: IHttpHistory, request?: SdkOptions): Promise<ContextChangeRecord<IHttpHistory>>;
    /**
     * Creates a multiple history objects in a batch operation.
     *
     * @param info The bulk create info object.
     * @param request Optional request options.
     */
    createBulk(info: IHttpHistoryBulkAdd, request?: SdkOptions): Promise<IBulkOperationResult<ContextChangeRecord<IHttpHistory>>>;
    /**
     * Lists the history.
     *
     * @param options Optional query options.
     * @param request Optional request options.
     */
    list(options: HistoryListOptions, request?: SdkOptions): Promise<ContextListResult<IHttpHistory>>;
    appendHistoryListParameters(url: URL, options: HistoryListOptions): void;
    /**
     * Deletes a history object form the store.
     *
     * @param key The key returned by the store when created the history. Also available via the
     *   `key` property on the history object.
     * @param request Optional request options.
     */
    delete(key: string, request?: SdkOptions): Promise<void>;
    /**
     * Deletes history in a bulk operation.
     * @param keys The list of keys of history objects to delete.
     * @param request Optional request options.
     * @returns The list of delete records.
     */
    deleteBulk(keys: string[], request?: SdkOptions): Promise<IBulkOperationResult<ContextDeleteRecord>>;
    /**
     * Reads a history definition from the store.
     * @param key The history key
     * @param request Optional request options.
     * @returns The history object
     */
    read(key: string, request?: SdkOptions): Promise<IHttpHistory>;
    clearOrganization(organizationKey: string, request?: SdkOptions): Promise<void>;
    clearProject(organizationKey: string, projectKey: string, request?: SdkOptions): Promise<void>;
    clearRequest(organizationKey: string, projectKey: string, requestKey: string, request?: SdkOptions): Promise<void>;
}
//# sourceMappingURL=HistorySdk.d.ts.map