import { type TemplateResult, nothing } from 'lit';
import { ApiEditor } from './ApiEditor.js';
import type { UpdateAction, ApiModel, DomainEntity, ExposedEntity } from '@api-client/core/browser.js';
import type { TabSelectionDetail } from '../../md/tabs/ui-tabs.js';
export default class ApiUpdateActionEditor extends ApiEditor {
    /**
     * Computed exposed entity being edited.
     */
    accessor exposed: ExposedEntity | undefined;
    /**
     * Computed domain entity that corresponds to the exposed entity being edited.
     */
    accessor entity: DomainEntity | undefined;
    /**
     * Computed create action definition being edited.
     */
    accessor action: UpdateAction | undefined;
    /**
     * When true, shows a close button in the editor header.
     * @attribute
     */
    accessor showCloseButton: boolean;
    /**
     * The currently active tab index.
     */
    accessor activeTab: number;
    protected setupModel(model?: ApiModel, domainKey?: string): void | Promise<void>;
    protected handleCloseButtonClick(): void;
    /**
     * Handles tab change events.
     */
    protected handleTabChange(e: CustomEvent<TabSelectionDetail>): void;
    protected handleConfigurationChange(): void;
    protected handleMethodChange(e: Event): void;
    toggleMethod(method: 'PUT' | 'PATCH', enabled: boolean): void;
    protected render(): TemplateResult | typeof nothing;
    /**
     * Renders a template of the editor header.
     */
    protected renderHeader(): TemplateResult;
    /**
     * Renders the tabs navigation.
     */
    protected renderTabs(): TemplateResult;
    /**
     * Renders the content for the currently active tab.
     */
    protected renderTabContent(): TemplateResult | typeof nothing;
    /**
     * Renders the Configuration tab content.
     */
    protected renderConfigurationTab(): TemplateResult | typeof nothing;
    /**
     * Renders the Access tab content.
     */
    protected renderAccessTab(): TemplateResult;
    /**
     * Renders the Limits tab content.
     */
    protected renderLimitsTab(): TemplateResult;
    /**
     * Renders the close button if the `showCloseButton` flag is set.
     */
    protected renderCloseButton(): TemplateResult | typeof nothing;
    protected renderUpdateConfiguration(action: UpdateAction): TemplateResult;
}
//# sourceMappingURL=ApiUpdateActionEditor.d.ts.map