import { MXBaseComponent, MXValueComponent, MXColorComponent } from '@acorex/cdk/common';
import * as i0 from '@angular/core';
import * as polytype from 'polytype';
import * as i1 from '@angular/common';
import * as i2 from '@angular/forms';

/**
 * @category
 * Displays content for different switch states using `<ng-content>`.
 */
declare class AXSwitchContentComponent extends MXBaseComponent {
    static ɵfac: i0.ɵɵFactoryDeclaration<AXSwitchContentComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AXSwitchContentComponent, "ax-switch-handler-content,ax-switch-handler-on-content,ax-switch-handler-off-content,ax-switch-off-content,ax-switch-on-content", never, {}, {}, never, ["*"], true, never>;
}

declare const AXSwitchComponent_base: polytype.Polytype.ClusteredConstructor<[{
    new (): MXValueComponent<boolean>;
    ɵfac: i0.ɵɵFactoryDeclaration<MXValueComponent<any>, never>;
    ɵprov: i0.ɵɵInjectableDeclaration<MXValueComponent<any>>;
}, typeof MXColorComponent]>;
/**
 * @category
 * A switch component that allows toggling between on and off states.
 */
declare class AXSwitchComponent extends AXSwitchComponent_base {
    /**
     * Indicates whether the component is in a loading state.
     */
    isLoading: boolean;
    /**
     * @ignore
     */
    protected _handleOnClickEvent(e: MouseEvent): void;
    /**
     * @ignore
     */
    private get __hostClass();
    static ɵfac: i0.ɵɵFactoryDeclaration<AXSwitchComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AXSwitchComponent, "ax-switch", never, { "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "color": { "alias": "color"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "value": { "alias": "value"; "required": false; }; "name": { "alias": "name"; "required": false; }; "isLoading": { "alias": "isLoading"; "required": false; }; }, { "onBlur": "onBlur"; "onFocus": "onFocus"; "valueChange": "valueChange"; "onValueChanged": "onValueChanged"; "readonlyChange": "readonlyChange"; "disabledChange": "disabledChange"; }, never, ["ax-switch-handler-content", "ax-switch-handler-on-content", "ax-switch-handler-off-content", "ax-switch-off-content", "ax-switch-on-content"], true, never>;
}

declare class AXSwitchModule {
    static ɵfac: i0.ɵɵFactoryDeclaration<AXSwitchModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<AXSwitchModule, never, [typeof i1.CommonModule, typeof i2.FormsModule, typeof AXSwitchComponent, typeof AXSwitchContentComponent], [typeof AXSwitchComponent, typeof AXSwitchContentComponent]>;
    static ɵinj: i0.ɵɵInjectorDeclaration<AXSwitchModule>;
}

export { AXSwitchComponent, AXSwitchContentComponent, AXSwitchModule };
