import { default as CxButton } from '../../../../../atoms/src/components/button/button.ts';
import { default as CxButtonGroup } from '../../../../../atoms/src/components/button-group/button-group.ts';
import { default as CxDivider } from '../../../../../atoms/src/components/divider/divider.ts';
import { default as CxDropdown } from '../../../../../atoms/src/components/dropdown/dropdown.ts';
import { default as CxIcon } from '../../../../../atoms/src/components/icon/icon.ts';
import { default as CxMenu } from '../../../../../atoms/src/components/menu/menu.ts';
import { default as CxSpace } from '../../../../../atoms/src/components/space/space.ts';
import { default as CxTooltip } from '../../../../../atoms/src/components/tooltip/tooltip.ts';
import { default as CxTypography } from '../../../../../atoms/src/components/typography/typography.ts';
import { default as CortexElement } from '../../../../../base/src/cortex-element.ts';
import { Ratio } from '../../../../../types/src/video-editor';
import { CSSResultGroup, TemplateResult } from 'lit';

export declare enum VideoEditorToolbarActions {
    Apply = "apply",
    Cancel = "cancel",
    CancelAll = "cancelAll",
    Crop = "crop",
    Delete = "delete",
    Export = "export",
    Redo = "redo",
    Rotate = "rotate",
    Save = "save",
    Transition = "transition",
    Trim = "trim",
    Undo = "undo"
}
export type CxVideoEditorToolbarActionEvent = CustomEvent<{
    action: VideoEditorToolbarActions;
}>;
export type CxVideoEditorToolbarRatioChangeEvent = CustomEvent<{
    ratio: Ratio;
}>;
declare global {
    interface GlobalEventHandlersEventMap {
        'cx-video-editor-toolbar-action': CxVideoEditorToolbarActionEvent;
        'cx-video-editor-toolbar-ratio-change': CxVideoEditorToolbarRatioChangeEvent;
    }
}
export default class CxVideoEditorToolbar extends CortexElement {
    static readonly styles: CSSResultGroup;
    static readonly dependencies: {
        'cx-button': typeof CxButton;
        'cx-button-group': typeof CxButtonGroup;
        'cx-divider': typeof CxDivider;
        'cx-dropdown': typeof CxDropdown;
        'cx-icon': typeof CxIcon;
        'cx-menu': typeof CxMenu;
        'cx-space': typeof CxSpace;
        'cx-tooltip': typeof CxTooltip;
        'cx-typography': typeof CxTypography;
    };
    private readonly localize;
    ratios: Ratio[];
    activeRatioLabel: string;
    disabled: Partial<Record<VideoEditorToolbarActions, boolean>>;
    cropMode: boolean;
    cropActive: boolean;
    /**
     * Indicates whether or not the export button should be shown.
     */
    showExport: boolean;
    get activeRatio(): Ratio | undefined;
    private handleRatioChange;
    private handleUndoClick;
    private handleRedoClick;
    private handleCancelClick;
    private handleCancelAllClick;
    private handleApplyClick;
    private handleSaveClick;
    private handleExportClick;
    private handleTrimClick;
    private handleTransitionClick;
    private handleCropClick;
    private handleRotateClick;
    private handleDeleteClick;
    private renderRightActions;
    render(): TemplateResult;
}
declare global {
    interface HTMLElementTagNameMap {
        'cx-video-editor-toolbar': CxVideoEditorToolbar;
    }
}
