import * as polytype from 'polytype';
import * as _angular_core from '@angular/core';
import { MXInputBaseValueComponent, MXColorLookComponent, AXEvent } from '@acorex/cdk/common';
import { AXColorPaletteComponent, AXColorPalettePickerComponent } from '@acorex/components/color-palette';
import { MXDropdownBoxBaseComponent, AXDropdownBoxComponent } from '@acorex/components/dropdown';

declare const AXColorBoxComponent_base: polytype.Polytype.ClusteredConstructor<[typeof MXDropdownBoxBaseComponent, {
    new (): MXInputBaseValueComponent<string>;
    ɵfac: _angular_core.ɵɵFactoryDeclaration<MXInputBaseValueComponent<any>, never>;
    ɵprov: _angular_core.ɵɵInjectableDeclaration<MXInputBaseValueComponent<any>>;
}, typeof MXColorLookComponent]>;
/**
 * A color box component that handles color selection and triggers relevant events.
 *
 * @category Components
 */
declare class AXColorBoxComponent extends AXColorBoxComponent_base {
    showBadge: _angular_core.InputSignal<boolean>;
    showValue: _angular_core.InputSignal<boolean>;
    showClearButton: _angular_core.InputSignal<boolean>;
    showIcon: _angular_core.InputSignal<boolean>;
    /**
     *  @ignore
     */
    protected picker: AXColorPaletteComponent;
    protected palettePicker: _angular_core.Signal<AXColorPalettePickerComponent>;
    /**
     *  @ignore
     */
    protected dropdown: AXDropdownBoxComponent;
    /**
     *  @ignore
     */
    protected _handleModelChange(value: string | null): void;
    /**
     *  @ignore
     */
    protected _handleArrowClickEvent(e: MouseEvent): void;
    /**
     *  @ignore
     */
    protected _handleInputClickEvent(e: MouseEvent): void;
    /**
     *  @ignore
     */
    protected _handleOnOpenedEvent(e: AXEvent): void;
    /**
     *  @ignore
     */
    protected _handleOnClosedEvent(e: AXEvent): void;
    /**
     * Handles changes to the internal value.
     *
     * @param value - The new value of the component.
     * @ignore
     */
    internalValueChanged(value?: Date): void;
    protected ngOnInit(): void;
    handleKeyboardEvent(event: KeyboardEvent): void;
    private get __hostName();
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXColorBoxComponent, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXColorBoxComponent, "ax-color-box", never, { "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "value": { "alias": "value"; "required": false; }; "state": { "alias": "state"; "required": false; }; "name": { "alias": "name"; "required": false; }; "id": { "alias": "id"; "required": false; }; "look": { "alias": "look"; "required": false; }; "showBadge": { "alias": "showBadge"; "required": false; "isSignal": true; }; "showValue": { "alias": "showValue"; "required": false; "isSignal": true; }; "showClearButton": { "alias": "showClearButton"; "required": false; "isSignal": true; }; "showIcon": { "alias": "showIcon"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; "stateChange": "stateChange"; "onValueChanged": "onValueChanged"; "onBlur": "onBlur"; "onFocus": "onFocus"; "readonlyChange": "readonlyChange"; "disabledChange": "disabledChange"; "onOpened": "onOpened"; "onClosed": "onClosed"; }, never, ["ax-prefix", "ax-clear-button", "ax-suffix", "ax-validation-rule"], true, never>;
}

declare class AXColorBoxModule {
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXColorBoxModule, never>;
    static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXColorBoxModule, never, [typeof AXColorBoxComponent], [typeof AXColorBoxComponent]>;
    static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXColorBoxModule>;
}

export { AXColorBoxComponent, AXColorBoxModule };
