import { type IDropDownable } from '../../../Behaviors/DropDownable';
import { ColorChangedEvent } from '../../../events';
import type { ColorEditorFormat } from '../../../Types/ColorEditorFormat';
import { CustomElement } from '../../Abstracts/CustomElement';
import { IColorPalette } from '../ColorEditor/IColorPalette';
import type { IColorPickerElementProps } from './IColorPickerElementProps';
declare const ColorPickerElement_base: (abstract new (...args: Array<any>) => import("../../../Behaviors/Themeable").IThemeableProps) & (abstract new (...args: Array<any>) => import("../../../Behaviors/DropDownable").IDropDownableProps & IDropDownable) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Disableable").IDisableableProps) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Valueable").IValueableProps<unknown>) & typeof CustomElement & import("../../../Behaviors/Themeable").IThemeableCtor;
/**
 * Color Picker - A user interface component for selecting colors using the ColorEditor.
 *
 * @element mosaik-color-picker
 *
 * @description
 * The Color Picker component provides a dropdown interface for selecting colors using
 * the comprehensive ColorEditor component. It displays a color swatch that, when clicked,
 * opens a dropdown containing the full color editing experience.
 *
 * @category Media
 *
 * @fires colorChanged {ColorChangedEvent} - Fired when the color value changes.
 *
 * @slot - Default slot for custom trigger content.
 *
 * @csspart swatch - The color swatch trigger element.
 * @csspart popup - The floating dropdown container.
 * @csspart editor - The color editor element.
 *
 * @dependency {ColorEditorElement} - The Color Editor component.
 * @dependency {ColorSwatchElement} - The Color Swatch component.
 * @dependency {FloatingElement} - The Floating component.
 * @dependency {PortalElement} - The Portal component.
 *
 * @public
 */
export declare class ColorPickerElement extends ColorPickerElement_base implements IColorPickerElementProps, IDropDownable {
    private readonly _clickOutsideController;
    private _floatingElement;
    private _value;
    private _format;
    private _showAlpha;
    private _showInputs;
    private _showPalette;
    private _showEyeDropper;
    private _showSwatch;
    private _palettes;
    private _selectedPalette;
    /**
     * @public
     */
    constructor();
    /**
     * Returns the `{@link is}` property.
     * The `{@link is}` property represents natural name of this element.
     *
     * @public
     * @static
     * @readonly
     */
    static get is(): string;
    /**
     * Gets or sets the `value` property.
     *
     * @public
     * @override
     */
    get value(): string | null;
    set value(value: string | null);
    /**
     * Gets or sets the color format for the inputs.
     *
     * @public
     */
    get format(): ColorEditorFormat;
    set format(value: ColorEditorFormat);
    /**
     * Gets or sets whether to show the alpha slider and input.
     *
     * @public
     */
    get showAlpha(): boolean;
    set showAlpha(value: boolean);
    /**
     * Gets or sets whether to show the color inputs.
     *
     * @public
     */
    get showInputs(): boolean;
    set showInputs(value: boolean);
    /**
     * Gets or sets whether to show the color palette.
     *
     * @public
     */
    get showPalette(): boolean;
    set showPalette(value: boolean);
    /**
     * Gets or sets whether to show the eye dropper button.
     *
     * @public
     */
    get showEyeDropper(): boolean;
    set showEyeDropper(value: boolean);
    /**
     * Gets or sets whether to show the color swatch preview in the editor.
     *
     * @public
     */
    get showSwatch(): boolean;
    set showSwatch(value: boolean);
    /**
     * Gets or sets the available color palettes.
     *
     * @public
     */
    get palettes(): Array<IColorPalette>;
    set palettes(value: Array<IColorPalette>);
    /**
     * Gets or sets the currently selected palette name.
     *
     * @public
     */
    get selectedPalette(): string;
    set selectedPalette(value: string);
    /**
     * @public
     * @override
     */
    connectedCallback(): void;
    /**
     * @protected
     * @override
     */
    protected onApplyTemplate(): void;
    /**
     * Handles changes from the color editor.
     *
     * @private
     * @template
     */
    onEditorChange(event: ColorChangedEvent): void;
    /**
     * @protected
     */
    protected onIsDropDownOpenPropertyChanged(_prev?: boolean, next?: boolean): void;
    /**
     * @private
     */
    private onClickedOutside;
}
/**
* @public
*/
export declare namespace ColorPickerElement {
    type Props = IColorPickerElementProps;
}
/**
 * @public
 */
declare global {
    interface HTMLElementTagNameMap {
        'mosaik-color-picker': ColorPickerElement;
    }
}
export {};
//# sourceMappingURL=ColorPickerElement.d.ts.map