import { default as CxButton } from '../../../../../atoms/src/components/button/button.ts';
import { default as CxColorPicker } from '../../../../../atoms/src/components/color-picker/color-picker.ts';
import { default as CxDialog } from '../../../../../atoms/src/components/dialog/dialog.ts';
import { default as CxGrid } from '../../../../../atoms/src/components/grid/grid.ts';
import { default as CxGridItem } from '../../../../../atoms/src/components/grid-item/grid-item.ts';
import { default as CxIconButton } from '../../../../../atoms/src/components/icon-button/icon-button.ts';
import { default as CxInput } from '../../../../../atoms/src/components/input/input.ts';
import { default as CxOption } from '../../../../../atoms/src/components/option/option.ts';
import { default as CxSelect } from '../../../../../atoms/src/components/select/select.ts';
import { default as CxSpace } from '../../../../../atoms/src/components/space/space.ts';
import { default as CxSpinner } from '../../../../../atoms/src/components/spinner/spinner.ts';
import { default as CxTable } from '../../../../../atoms/src/components/table/table.ts';
import { default as CxTypography } from '../../../../../atoms/src/components/typography/typography.ts';
import { default as CortexElement } from '../../../../../base/src/cortex-element.ts';
import { ColorSwatchData } from '../../../../../types/src/color-swatch';

export type CxContentBuilderColorSwatchSelectEvent = CustomEvent<ColorSwatchData | ColorSwatchData[]>;
export type CxContentBuilderColorSwatchDeleteEvent = CustomEvent<void>;
declare enum TabType {
    General = "general",
    Translation = "translation"
}
/**
 * @summary The `cx-color-swatch-picker` component is used to select and manage color swatches in the content builder.
 *
 * @event cx-content-builder-color-swatch-select - Emitted when a color swatch is selected.
 * @event cx-content-builder-color-swatch-delete - Emitted when a color swatch is deleted.
 */
export default class CxColorSwatchPicker extends CortexElement {
    static readonly styles: import('lit').CSSResult[];
    static readonly dependencies: {
        'cx-button': typeof CxButton;
        'cx-color-picker': typeof CxColorPicker;
        'cx-dialog': typeof CxDialog;
        'cx-grid': typeof CxGrid;
        'cx-grid-item': typeof CxGridItem;
        'cx-icon-button': typeof CxIconButton;
        'cx-input': typeof CxInput;
        'cx-option': typeof CxOption;
        'cx-select': typeof CxSelect;
        'cx-space': typeof CxSpace;
        'cx-spinner': typeof CxSpinner;
        'cx-table': typeof CxTable;
        'cx-typography': typeof CxTypography;
    };
    private readonly localize;
    private translatedColumns;
    private translatedHoverMenu;
    dialog: CxDialog;
    /**
     * The boundary property of the confirm popover's dropdown/dialog popup.
     */
    boundary: HTMLElement;
    /**
     * The full data of the color swatches.
     */
    data: ColorSwatchData[];
    /**
     * Whether the table can be loaded.
     */
    disableTableLoad: boolean;
    /**
     * The list of languages available in the content builder.
     * This is the list of languages that will be used to store the translatable texts.
     */
    supportedLanguages: string[];
    /**
     * The default language of the content builder.
     */
    defaultLanguage: string;
    /**
     * The type of dialog to open since it can be either add new or edit from row selection.
     */
    private dialogType;
    /**
     * The ID of the color swatch being edited.
     */
    private dialogId;
    /**
     * The name of the color swatch.
     */
    private dialogName;
    /**
     * The translations of the color swatch name.
     */
    private dialogNameTranslations;
    /**
     * The palette of the color swatch.
     */
    private dialogPalette;
    /**
     * The hex color value.
     */
    private dialogHex;
    /**
     * The RGB color value.
     */
    private dialogRgb;
    /**
     * The CMYK color value.
     */
    private dialogCmyk;
    /**
     * The PMS color value.
     */
    private dialogPmsId;
    /**
     * The color value.
     */
    private dialogColor;
    /**
     * The palettes of current color swatches.
     */
    private palettes;
    get tabs(): TabType[];
    /**
     * Opens the add color dialog.
     */
    private handleOpenAddColorDialog;
    /**
     * Opens the edit color dialog.
     */
    private handleOpenEditColorDialog;
    private handleTableActions;
    /**
     * Resets the dialog state to default values.
     */
    private resetDialogState;
    /**
     * Finishes the dialog and emits the event.
     */
    private handleFinishDialog;
    /**
     * Closes the dialog.
     */
    private handleRequestClose;
    /**
     * Handles the data change.
     */
    handleDataChange(): void;
    runFirstUpdated(): void;
    private handleChangeName;
    private handleChangeNameTranslation;
    private handleChangePalette;
    private handleCreatePalette;
    private handleColorPickerChange;
    private handleChangeHex;
    private handleChangeRgb;
    private handleChangeCmyk;
    private handleChangePms;
    /**
     * Re-emit dynamic events from the table.
     */
    private handleTableRowMoved;
    private handleTableRowDeleted;
    private renderControls;
    render(): import('lit').TemplateResult<1>;
}
declare global {
    interface HTMLElementTagNameMap {
        'cx-color-swatch-picker': CxColorSwatchPicker;
    }
    interface GlobalEventHandlersEventMap {
        'cx-content-builder-color-swatch-delete': CxContentBuilderColorSwatchDeleteEvent;
        'cx-content-builder-color-swatch-select': CxContentBuilderColorSwatchSelectEvent;
    }
}
export {};
