import type { UmbWebhookDetailRepository } from '../repository/index.js';
import type { UmbWebhookDetailModel } from '../types.js';
import type { UmbWebhookEventModel } from '../../webhook-event/types.js';
import { UmbEntityNamedDetailWorkspaceContextBase } from '../../../core/workspace/index.js';
import type { UmbControllerHost } from '../../../../libs/controller-api/index.js';
import type { UmbSubmittableWorkspaceContext, UmbRoutableWorkspaceContext } from '../../../core/workspace/index.js';
export declare class UmbWebhookWorkspaceContext extends UmbEntityNamedDetailWorkspaceContextBase<UmbWebhookDetailModel, UmbWebhookDetailRepository> implements UmbSubmittableWorkspaceContext, UmbRoutableWorkspaceContext {
    readonly headers: import("rxjs").Observable<Record<string, string> | undefined>;
    readonly enabled: import("rxjs").Observable<boolean | undefined>;
    readonly url: import("rxjs").Observable<string | undefined>;
    readonly description: import("rxjs").Observable<string | null | undefined>;
    readonly events: import("rxjs").Observable<UmbWebhookEventModel[] | undefined>;
    readonly contentTypes: import("rxjs").Observable<string[] | undefined>;
    constructor(host: UmbControllerHost);
    /**
     * Sets the events
     * @param {Array<UmbWebhookEventModel>} events - The events
     * @memberof UmbWebhookWorkspaceContext
     */
    setEvents(events: Array<UmbWebhookEventModel>): void;
    /**
     * Gets the events
     * @returns {Array<UmbWebhookEventModel>}
     * @memberof UmbWebhookWorkspaceContext
     */
    getEvents(): Array<UmbWebhookEventModel> | undefined;
    /**
     * Sets the headers
     * @param {{ [key: string]: string }} headers - The headers
     * @memberof UmbWebhookWorkspaceContext
     */
    setHeaders(headers: {
        [key: string]: string;
    }): void;
    /**
     * Gets the headers
     * @returns {UmbWebhookDetailModel['headers']} - The headers
     * @memberof UmbWebhookWorkspaceContext
     */
    getHeaders(): UmbWebhookDetailModel['headers'] | undefined;
    /**
     * Sets the content types
     * @param {string[]} types - The content types
     * @memberof UmbWebhookWorkspaceContext
     */
    setTypes(types: string[]): void;
    /**
     * Gets the content types
     * @returns {string[]} - The content types
     * @memberof UmbWebhookWorkspaceContext
     */
    getTypes(): string[] | undefined;
    /**
     * Sets the URL
     * @param {string} url - The URL
     * @memberof UmbWebhookWorkspaceContext
     */
    setUrl(url: string): void;
    /**
     * Sets the description
     * @param {string} description - The description
     * @memberof UmbWebhookWorkspaceContext
     */
    setDescription(description: string): void;
    /**
     * Gets the URL
     * @returns {string} - The URL
     * @memberof UmbWebhookWorkspaceContext
     */
    getUrl(): string | undefined;
    /**
     * Sets the enabled state
     * @param {boolean} enabled - The enabled state
     * @memberof UmbWebhookWorkspaceContext
     */
    setEnabled(enabled: boolean): void;
    /**
     * Gets the enabled state
     * @returns {boolean} - The enabled state
     * @memberof UmbWebhookWorkspaceContext
     */
    getEnabled(): boolean | undefined;
}
export { UmbWebhookWorkspaceContext as api };
