/**
* @license
* Copyright 2023 Nuraly, Laabidi Aymen
* SPDX-License-Identifier: MIT
*/
import { LitElement, type PropertyValues } from 'lit';
import './color-holder.component.js';
import './default-color-sets.component.js';
import { ColorPickerSize, ColorPickerTrigger, ColorPickerPlacement, ColorPickerAnimation, ColorFormat } from './color-picker.types.js';
import type { ColorPickerHost } from './interfaces/index.js';
declare const ColorPicker_base: (new (...args: any[]) => import("@nuralyui/common/mixins").DependencyAware) & (new (...args: any[]) => import("@nuralyui/common/mixins").ThemeAware) & (new (...args: any[]) => import("@nuralyui/common/mixins").EventHandlerCapable) & (new (...args: any[]) => import("packages/common/src/shared/base-mixin.js").LightDomContent) & typeof LitElement;
/**
* Advanced color picker component with dropdown positioning, validation, and accessibility.
*
* Supports multiple color formats, default color sets, custom triggers, keyboard navigation,
* and various display configurations.
*
* @example
* ```html
*
*
*
*
*
*
*
*
*
*
*
*
*
* ```
*
* @fires hy-color-change - Color value changed
* @fires nr-colorpicker-open - Dropdown opened
* @fires nr-colorpicker-close - Dropdown closed
* @fires color-changed - Legacy event for backwards compatibility
*
* @slot - Default slot for custom content
*
* @cssproperty --colorpicker-trigger-size - Size of the color trigger box
* @cssproperty --colorpicker-dropdown-width - Width of the dropdown panel
* @cssproperty --colorpicker-dropdown-background - Background color of dropdown
* @cssproperty --colorpicker-dropdown-shadow - Shadow of dropdown panel
* @cssproperty --colorpicker-dropdown-border-radius - Border radius of dropdown
*/
export declare class ColorPicker extends ColorPicker_base implements ColorPickerHost {
static useShadowDom: boolean;
static styles: import("lit").CSSResult;
requiredComponents: string[];
/** Current color value */
color: string;
/** Controls dropdown visibility */
show: boolean;
/** Array of preset colors to display */
defaultColorSets: string[];
/** Disables the color picker */
disabled: boolean;
/** Color picker size (small, default, large) */
size: ColorPickerSize;
/** Trigger mode for opening dropdown */
trigger: ColorPickerTrigger;
/** Dropdown placement */
placement: ColorPickerPlacement;
/** Animation style for dropdown */
animation: ColorPickerAnimation;
/** Close dropdown when a color is selected */
closeOnSelect: boolean;
/** Close dropdown on outside click */
closeOnOutsideClick: boolean;
/** Close dropdown on escape key */
closeOnEscape: boolean;
/** Show color input field */
showInput: boolean;
/** Show copy button on input */
showCopyButton: boolean;
/** Color format (hex, rgb, rgba, hsl, hsla) */
format: ColorFormat;
/** Placeholder text for color input */
inputPlaceholder: string;
/** Label text */
label: string;
/** Helper text */
helperText: string;
/** Validation state for color value */
private isValidColor;
/** Manages dropdown visibility and positioning */
private dropdownController;
/** Handles all event management */
private eventController;
constructor();
/**
* Component connected to DOM - initialize base functionality
*/
connectedCallback(): void;
/**
* Component disconnected from DOM - cleanup event listeners
*/
disconnectedCallback(): void;
/**
* Called after component updates
*/
updated(changedProperties: PropertyValues): void;
/**
* Opens the color picker dropdown
*/
open(): void;
/**
* Closes the color picker dropdown
*/
close(): void;
/**
* Toggles the color picker dropdown
*/
toggle(): void;
/**
* Validates the current color value
*/
validateColor(): boolean;
/**
* Sets up global event listeners (called by dropdown controller)
*/
setupEventListeners(): void;
/**
* Removes global event listeners (called by dropdown controller)
*/
removeEventListeners(): void;
/**
* Handles trigger click to toggle dropdown
*/
private handleTriggerClick;
/**
* Handles color selection from hex-color-picker or default colors
*/
private handleColorChanged;
/**
* Handles input change from text input
*/
private handleInputChange;
/**
* Main render method
*/
render(): import("lit-html").TemplateResult<1>;
/**
* Renders the label if provided
*/
private renderLabel;
/**
* Renders the dropdown panel with color picker
*/
private renderDropdown;
/**
* Renders default color sets if provided
*/
private renderDefaultColorSets;
/**
* Renders the hex color picker
*/
private renderColorPicker;
/**
* Renders the color input field
*/
private renderColorInput;
/**
* Renders helper text if provided
*/
private renderHelperText;
}
export {};
//# sourceMappingURL=color-picker.component.d.ts.map