import * as i0 from '@angular/core';
import { TemplateRef } from '@angular/core';
import { MXSelectionValueComponent, AXDirection } from '@acorex/cdk/common';
import * as i1 from '@angular/common';
import * as i2 from '@angular/forms';
import * as i3 from '@acorex/components/check-box';
import * as i4 from '@acorex/components/radio';
import * as i5 from '@acorex/components/label';
import * as i6 from '@acorex/components/form';

type AXSelectionListLook = 'solid' | 'divided' | 'card';
/**
 * The Button is a component which detects user interaction and triggers a corresponding event
 *
 * @category Components
 */
declare class AXSelectionListComponent extends MXSelectionValueComponent {
    /**
     * sets the direction of the component.
     * @param {AXDirection} value
     */
    direction: i0.InputSignal<AXDirection>;
    /**
     * The custom template used for rendering content.
     *
     * @param {TemplateRef<unknown>} customTemplate
     */
    customTemplate: i0.InputSignal<TemplateRef<unknown>>;
    /** @ignore */
    private _showControl;
    /**
     * @param {void}
     * Gets the current state of the control visibility.
     */
    get showControl(): boolean;
    /**
     * @param {boolean} v
     * Sets the visibility state of the control.
     */
    set showControl(v: boolean);
    /** @ignore */
    private _items;
    /**
     * Gets the list of items.
     * @param {void}
     */
    get items(): any[];
    /**
     * Sets the list of items.
     *
     * @param {any[]} v
     */
    set items(v: any[]);
    /** @ignore */
    private _hintField;
    /**
     * Gets the field used for displaying hints.
     */
    get hintField(): string;
    /**
     * Sets the field used for displaying hints.
     *
     * @param {string} v
     */
    set hintField(v: string);
    /**
     * Retrieves an item from the list by its key.
     *
     * @param {unknown} key - The key to search for.
     */
    getItemByKey(key: unknown): unknown;
    /**
     * Defines the visual appearance of the selection list.
     *
     * @defaultValue 'solid'
     */
    look: AXSelectionListLook;
    /** @ignore */
    protected _handleOnItemValueChange(item: any, e: Event): void;
    /** @ignore */
    private get __hostClass();
    static ɵfac: i0.ɵɵFactoryDeclaration<AXSelectionListComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AXSelectionListComponent, "ax-selection-list", never, { "id": { "alias": "id"; "required": false; }; "name": { "alias": "name"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "size": { "alias": "size"; "required": false; }; "value": { "alias": "value"; "required": false; }; "valueField": { "alias": "valueField"; "required": false; }; "textField": { "alias": "textField"; "required": false; }; "disabledField": { "alias": "disabledField"; "required": false; }; "readonlyField": { "alias": "readonlyField"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "direction": { "alias": "direction"; "required": false; "isSignal": true; }; "customTemplate": { "alias": "customTemplate"; "required": false; "isSignal": true; }; "showControl": { "alias": "showControl"; "required": false; }; "items": { "alias": "items"; "required": false; }; "look": { "alias": "look"; "required": false; }; }, { "onValueChanged": "onValueChanged"; "onBlur": "onBlur"; "onFocus": "onFocus"; }, never, ["ax-validation-rule"], true, never>;
}

declare class AXSelectionListModule {
    static ɵfac: i0.ɵɵFactoryDeclaration<AXSelectionListModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<AXSelectionListModule, never, [typeof i1.CommonModule, typeof i2.FormsModule, typeof i3.AXCheckBoxModule, typeof i4.AXRadioModule, typeof i5.AXLabelModule, typeof i6.AXFormModule, typeof AXSelectionListComponent], [typeof AXSelectionListComponent]>;
    static ɵinj: i0.ɵɵInjectorDeclaration<AXSelectionListModule>;
}

export { AXSelectionListComponent, AXSelectionListModule };
export type { AXSelectionListLook };
