import { LitElement, TemplateResult, nothing, PropertyValues } from 'lit';
import { ColorPaletteSettings, Direction, PaletteSettings, Status } from './color-palette-utils.js';
import { EventEmitter } from '../../utils/EventEmitter.js';
type EventMap = {
    resized: [palette: ResizeObserverEntry];
    changed: [colors: string[], settings: PaletteSettings];
    editMode: [editMode: boolean];
    notice: [message: string];
};
export declare class ColorPalette extends LitElement {
    static styles: import("lit").CSSResult[];
    palette: HTMLDivElement;
    _editMode: boolean;
    set editMode(val: boolean);
    get editMode(): boolean;
    colors: string[];
    height: number;
    width: number;
    direction: Direction;
    gradient: boolean;
    preventHover: boolean;
    hideText: boolean;
    override: boolean;
    aliases: string[];
    maxWidth: number;
    /**
     * Helper accessor for settings
     */
    set settings({ height, width, direction, gradient, preventHover, override, aliases }: PaletteSettings);
    get settings(): PaletteSettings;
    status: Status;
    private pulse;
    emitter: EventEmitter<EventMap>;
    pluginSettings: ColorPaletteSettings;
    connectedCallback(): void;
    disconnectedCallback(): void;
    protected willUpdate(_changedProperties: PropertyValues): void;
    /**
     * Sets the current status and parses colors
     */
    setStatusAndColors(): void;
    render(): TemplateResult<1>;
    /**
    * @returns `user` OR `auto` width based on which is more appropriate
    */
    getPaletteWidth(): number;
    createPalette: () => TemplateResult | typeof nothing;
    createColors(): TemplateResult;
    createGradient(): TemplateResult;
    /**
     * Create invalid palette based on palette status
     * @param type Palette status type
     */
    createInvalidPalette(type: Status, message?: string): TemplateResult<1>;
}
declare global {
    interface HTMLElementTagNameMap {
        'color-palette': ColorPalette;
    }
}
export {};
//# sourceMappingURL=color-palette.d.ts.map