import { TypedEmitter } from 'tiny-typed-emitter';
import { ColorPaletteItem } from '../color-palette';
import ColorPalette, { ColorPaletteEvents } from '../color-palette/color-palette';
import { CommandItem, CommandItemChildrenPlacement, CommandItemElement, InitItemOptions } from '../types';
export interface ColorItemOptions {
    name: string;
    icon: string;
    color?: boolean;
    backgroundColor?: boolean;
    clearColorButton?: boolean;
    section?: boolean;
    childrenPlacement?: CommandItemChildrenPlacement;
}
export declare class ColorItem extends TypedEmitter<ColorPaletteEvents> implements CommandItem {
    id: string;
    name: string;
    dropdown: boolean;
    manualShowChildren: boolean;
    children: CommandItem[];
    childrenPlacement: CommandItemChildrenPlacement;
    element: HTMLButtonElement;
    colorPaletteItem: ColorPaletteItem;
    latestColors: [number | null, number | null];
    constructor(id: string, options: ColorItemOptions);
    destroy(): void;
    handlePaletteClick: (type: 'color' | 'backgroundColor' | 'clearColor', value: number, sender: ColorPalette) => void;
    setLatestColors: (type: 'color' | 'backgroundColor' | 'clearColor', value: number) => void;
    getLatestColor: (type: 'color' | 'backgroundColor') => number | null;
    beforePopup: () => void;
    updatePaletteColor(colors: [number | null, number | null]): void;
    updateButtonColor(colors: [number | null, number | null]): void;
    initItem: (item: CommandItem, elem: CommandItemElement, options: InitItemOptions) => void;
}
