import * as i0 from '@angular/core';
import { TemplateRef } from '@angular/core';
import { MXSelectionValueComponent, AXDirection } from '@acorex/cdk/common';
import { AXSelectionGroupSelectedKeys } from '@acorex/cdk/selection';
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';
type AXSelectionList2Item = {
    id: string | number;
    text: string;
    hint?: string;
    disabled?: boolean;
};

/**
 * The Button is a component which detects user interaction and triggers a corresponding event
 *
 * @category Components
 */
declare class AXSelectionList2Component extends MXSelectionValueComponent {
    readonly direction: i0.InputSignal<AXDirection>;
    readonly customTemplate: i0.InputSignal<TemplateRef<unknown>>;
    readonly look: i0.InputSignal<AXSelectionListLook>;
    protected changeState(e: AXSelectionGroupSelectedKeys): void;
    private _showControl;
    get showControl(): boolean;
    set showControl(v: boolean);
    private _items;
    get items(): AXSelectionList2Item[];
    set items(v: AXSelectionList2Item[]);
    private _hintField;
    get hintField(): string;
    set hintField(v: string);
    getItemByKey(key: unknown): unknown;
    private get __hostClass();
    static ɵfac: i0.ɵɵFactoryDeclaration<AXSelectionList2Component, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AXSelectionList2Component, "ax-selection-list2", 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; }; "look": { "alias": "look"; "required": false; "isSignal": true; }; "showControl": { "alias": "showControl"; "required": false; }; "items": { "alias": "items"; "required": false; }; }, { "onValueChanged": "onValueChanged"; "onBlur": "onBlur"; "onFocus": "onFocus"; }, never, ["ax-validation-rule"], true, never>;
}

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

export { AXSelectionList2Component, AXSelectionList2Module };
export type { AXSelectionList2Item, AXSelectionListLook };
