import { LitElement } from 'lit'; import '../nile-dropdown/nile-dropdown'; import '../nile-menu/nile-menu'; import '../nile-menu-item/nile-menu-item'; import '../nile-color-swatch/nile-color-swatch'; export type ColorPickerType = 'swatches' | 'picker'; export type ColorPickerMode = 'inline' | 'popover'; export type SwatchTooltip = 'name' | 'value' | 'both'; export type PaletteEntry = { color: string; name: string; }; export declare const DEFAULT_PALETTE: PaletteEntry[]; export declare function hexToRgb(hex: string): [number, number, number]; export declare function rgbToHex(r: number, g: number, b: number): string; export declare function rgbToHsv(r: number, g: number, b: number): [number, number, number]; export declare function hsvToRgb(h: number, s: number, v: number): [number, number, number]; export declare class NileColorPicker extends LitElement { protected createRenderRoot(): this; type: ColorPickerType; /** Currently selected hex color value. */ value: string; /** What to show in swatch tooltips. */ swatchTooltip: SwatchTooltip; /** How many recent/custom colors to display. */ recentColorsCount: number; /** Show a "No Fill" button (useful for background-color use cases). */ noFill: boolean; mode: ColorPickerMode; /** Show the SV gradient canvas (the large colour area). Applies when type="picker". */ showCanvas: boolean; /** Show the hue slider row (rainbow bar + eyedropper). Applies when type="picker". */ showHue: boolean; /** Show the HEX / RGB input row. Applies when type="picker". */ showInputs: boolean; /** Show the Cancel / Okay action buttons. Applies when type="picker". */ showActions: boolean; open: boolean; /** Custom palette. Accepts a JSON array of `{ color, name }` objects or plain * hex strings. Falls back to the built-in palette when empty. */ palette: PaletteEntry[]; private _view; private _recentColors; private _hue; private _sat; private _val; private _colorMode; private _hexInput; private _r; private _g; private _b; private _svCanvas; private _hueCanvas; private _draggingSV; private _draggingHue; private _pendingColor; connectedCallback(): void; disconnectedCallback(): void; protected updated(changed: Map): void; /** Reset the view back to the default type (call this when the host popover closes). */ reset(): void; private _injectCss; private _norm; private get _paletteColors(); private _emit; private _apply; private _closePopover; private _openPicker; private _syncInputs; private _drawSV; private _drawHue; private _onSVMouseDown; private _onHueMouseDown; private _onGlobalMouseMove; private _onGlobalMouseUp; private _commitPickerIfNoActions; private _updateSV; private _updateHue; private _onHexInput; private _onRgbInput; private _onColorModeSelect; private _pickEyedropper; private _renderSwatch; private _renderSwatchesView; private _renderPickerView; private _renderTrigger; render(): import("lit-html").TemplateResult<1>; } declare global { interface HTMLElementTagNameMap { 'nile-color-picker': NileColorPicker; } }