import * as _angular_core from '@angular/core';
import { AfterViewInit, ElementRef, Injector } from '@angular/core';
import _ColorPalettePopover from '@ui5/webcomponents/dist/ColorPalettePopover.js';
import { UI5CustomEvent } from '@ui5/webcomponents-base';

declare class ColorPalettePopover implements AfterViewInit {
    /**
     * Defines whether the user can see the last used colors in the bottom of the component
     */
    showRecentColors: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /**
     * Defines whether the user can choose a custom color from a component.
     */
    showMoreColors: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /**
     * Defines whether the user can choose the default color from a button.
     */
    showDefaultColor: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /**
     * Defines the default color of the component.
  
  **Note:** The default color should be a part of the ColorPalette colors`
     */
    defaultColor: _angular_core.InputSignal<string | undefined>;
    /**
     * Defines the open | closed state of the popover.
     */
    open: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /**
     * Defines the ID or DOM Reference of the element that the popover is shown at.
  When using this attribute in a declarative way, you must only use the `id` (as a string) of the element at which you want to show the popover.
  You can only set the `opener` attribute to a DOM Reference when using JavaScript.
     */
    opener: _angular_core.InputSignal<string | HTMLElement | null | undefined>;
    /**
     * Fired when the user selects a color.
     */
    ui5ItemClick: _angular_core.OutputEmitterRef<UI5CustomEvent<_ColorPalettePopover, "item-click">>;
    /**
     * Fired when the `ui5-color-palette-popover` is closed due to user interaction.
     */
    ui5Close: _angular_core.OutputEmitterRef<UI5CustomEvent<_ColorPalettePopover, "close">>;
    /**
     * Available slots for content projection in this component.
     *
     * Slots allow you to insert custom content into predefined areas of the web component.
     * Use the `slot` attribute on child elements to target specific slots.
     *
     * - **(default)**: Defines the content of the component.
     *
     * @example
     * ```html
     * <ui5-color-palette-popover>
     *   <div slot="header">Custom header content</div>
     *   <p>Default slot content</p>
     * </ui5-color-palette-popover>
     * ```
     *
     * @readonly
     * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_templates_and_slots | MDN Web Components Slots}
     */
    readonly slots: {
        name: string;
        description: string;
    }[];
    elementRef: ElementRef<_ColorPalettePopover>;
    injector: Injector;
    get element(): _ColorPalettePopover;
    ngAfterViewInit(): void;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<ColorPalettePopover, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<ColorPalettePopover, "ui5-color-palette-popover, [ui5-color-palette-popover]", ["ui5ColorPalettePopover"], { "showRecentColors": { "alias": "showRecentColors"; "required": false; "isSignal": true; }; "showMoreColors": { "alias": "showMoreColors"; "required": false; "isSignal": true; }; "showDefaultColor": { "alias": "showDefaultColor"; "required": false; "isSignal": true; }; "defaultColor": { "alias": "defaultColor"; "required": false; "isSignal": true; }; "open": { "alias": "open"; "required": false; "isSignal": true; }; "opener": { "alias": "opener"; "required": false; "isSignal": true; }; }, { "ui5ItemClick": "ui5ItemClick"; "ui5Close": "ui5Close"; }, never, ["*"], true, never>;
}

export { ColorPalettePopover };
