import { IEventEmitter } from '@breadstone/mosaik-elements';
import type { ISwatchCopyEventDetail } from '../../../events';
import { CustomElement } from '../../Abstracts/CustomElement';
import type { IColorEditorSwatchElementProps } from './IColorEditorSwatchElementProps';
declare const ColorEditorSwatchElement_base: (abstract new (...args: Array<any>) => import("../../../Behaviors/Themeable").IThemeableProps) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Disableable").IDisableableProps) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Focusable").IFocusableProps) & typeof CustomElement & import("../../../Behaviors/Themeable").IThemeableCtor;
/**
 * Color Editor Swatch - A color preview element with optional copy functionality.
 *
 * @name ColorEditorSwatch
 * @element mosaik-color-editor-swatch
 *
 * @description
 * The Color Editor Swatch component displays a preview of a color with an optional
 * copy-to-clipboard button. It includes a checkerboard background pattern to indicate
 * transparency levels and automatically adjusts border visibility based on color
 * brightness.
 *
 * @category Media
 *
 * @fires swatchCopy {SwatchCopyEvent} - Fired when the color is copied to clipboard
 *
 * @csspart color - The color display area
 * @csspart copy-button - The copy to clipboard button overlay
 *
 * @public
 */
export declare class ColorEditorSwatchElement extends ColorEditorSwatchElement_base implements IColorEditorSwatchElementProps {
    private readonly _swatchCopy;
    private _color;
    private _copyable;
    /**
     * Constructs a new instance of the ColorEditorSwatchElement class.
     *
     * @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 color to display.
     *
     * @public
     * @attr
     */
    get color(): string;
    set color(value: string);
    /**
     * Gets or sets whether the swatch shows a copy button on hover.
     *
     * @public
     */
    get copyable(): boolean;
    set copyable(value: boolean);
    /**
     * Called when the color is copied to clipboard.
     * Provides reference to `{@link ISwatchCopyEventDetail}` as event detail.
     *
     * @public
     * @readonly
     * @eventProperty
     */
    get swatchCopy(): IEventEmitter<ISwatchCopyEventDetail>;
    /**
     * Handles click on the copy button.
     *
     * @public
     */
    pick(): Promise<void>;
    /**
     * @private
     */
    onPick(event: MouseEvent): void;
}
/**
 * @public
 */
export declare namespace ColorEditorSwatchElement {
    type Props = IColorEditorSwatchElementProps;
}
/**
 * @public
 */
declare global {
    interface HTMLElementTagNameMap {
        'mosaik-color-editor-swatch': ColorEditorSwatchElement;
    }
}
export {};
//# sourceMappingURL=ColorEditorSwatchElement.d.ts.map