import { FormComponent } from '@limetech/lime-elements';
import { EventEmitter } from '../../stencil-public-runtime';
/**
 * Picks a color palette from the built-in color-palettes registry,
 * and shows the palette's swatches alongside its title — both in
 * the dropdown row and in the selected trigger area.
 *
 * ### When to use this picker
 *
 * Use it when a Lime CRM widget needs the admin to choose a set of
 * colors purely for **visual differentiation** between items in a
 * list. The picker's contract is "give every item a distinct, nicely
 * harmonized color"; it does **not** assume any item-to-color
 * mapping is meaningful. Concrete examples:
 *
 * - bars / slices in a chart widget
 * - swimlanes in a kanban view
 * - event categories in a calendar
 * - tag chips on a list view
 *
 * ### When **not** to use it
 *
 * Don't use this picker when colors carry semantic meaning that
 * end users must learn and rely on — e.g. _red = high priority_,
 * _green = healthy_, _yellow = pending_. The palette's color order
 * and contents may evolve over time (designers tweaking shades,
 * appending new colors, retiring duplicates), so item-to-color
 * mappings are intentionally **not** stable across releases. For
 * status / priority / severity surfaces, encode meaning at the
 * value level (icons, badges, labels) rather than color alone.
 *
 * @exampleComponent limebb-example-color-palette-picker
 * @beta
 */
export declare class ColorPalettePicker implements FormComponent<string> {
    /**
     * @inheritdoc
     */
    value: string;
    /**
     * @inheritdoc
     */
    required: boolean;
    /**
     * @inheritdoc
     */
    readonly: boolean;
    /**
     * @inheritdoc
     */
    invalid: boolean;
    /**
     * @inheritdoc
     */
    disabled: boolean;
    /**
     * @inheritdoc
     */
    label: string;
    /**
     * @inheritdoc
     */
    helperText: string;
    /**
     * Emitted when the user picks a different palette. The detail is
     * the chosen palette's `id`.
     */
    change: EventEmitter<string>;
    private options;
    private optionsById;
    /**
     * Tracks the last `value` we warned about so we don't log on
     * every render when the same unknown id persists.
     */
    private lastWarnedValue?;
    componentWillLoad(): void;
    render(): any;
    /**
     * Resolve `this.value` against the cached options map. Returns
     * `undefined` when no value is set (so the trigger renders
     * unselected), or falls back to the (none) option when the value
     * is set but unrecognized — with a one-time warning so a
     * developer integrating the picker sees the stale id during
     * debugging.
     */
    private getSelectedOption;
    private handleChange;
}
//# sourceMappingURL=color-palette-picker.d.ts.map