import { MXBaseComponent, AXSurfaceType } from '@acorex/cdk/common';
import * as i0 from '@angular/core';
import * as i1 from '@angular/common';

/**
 * A button component that allows users to clear or reset a value.
 *
 * @category Components
 */
declare class AXDecoratorClearButtonComponent extends MXBaseComponent {
    private _parent;
    /**
     *  @ignore
     */
    private _icon;
    /**
     * The icon displayed on the clear button.
     */
    get icon(): string;
    /**
     * Sets the icon displayed on the clear button.
     *
     * @param v - The icon class to display. If not provided, defaults to 'ax-icon-close'.
     */
    set icon(v: string);
    /**
     *  @ignore
     */
    private get hostClass();
    /**
     *  @ignore
     */
    protected _handleOnClick(e: MouseEvent): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<AXDecoratorClearButtonComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AXDecoratorClearButtonComponent, "ax-clear-button", never, { "icon": { "alias": "icon"; "required": false; }; }, {}, never, never, true, never>;
}

/**
 * A button component that displays a close icon and triggers an action when clicked.
 *
 * @category Components
 */
declare class AXDecoratorCloseButtonComponent extends MXBaseComponent {
    private _parent;
    closeAll: i0.InputSignal<boolean>;
    /**
     *  @ignore
     */
    private _icon;
    /**
     * The icon class to be applied to the button.
     */
    get icon(): string;
    /**
     * Sets the icon class to be applied to the button.
     *
     * @param v The icon class.
     */
    set icon(v: string);
    /**
     *  @ignore
     */
    protected _handleOnClick(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<AXDecoratorCloseButtonComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AXDecoratorCloseButtonComponent, "ax-close-button", never, { "closeAll": { "alias": "closeAll"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; }; }, {}, never, never, true, never>;
}

declare class AXDecoratorColorIndicatorComponent {
    previewColor: i0.InputSignal<unknown>;
    static ɵfac: i0.ɵɵFactoryDeclaration<AXDecoratorColorIndicatorComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AXDecoratorColorIndicatorComponent, "ax-color-indicator", never, { "previewColor": { "alias": "previewColor"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
}

declare class AXDecoratorFullScreenButtonComponent extends MXBaseComponent {
    isActive: i0.ModelSignal<boolean>;
    static ɵfac: i0.ɵɵFactoryDeclaration<AXDecoratorFullScreenButtonComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AXDecoratorFullScreenButtonComponent, "ax-fullscreen-button", never, { "isActive": { "alias": "isActive"; "required": false; "isSignal": true; }; }, { "isActive": "isActiveChange"; }, never, never, true, never>;
}

/**
 * A flexible component for various UI elements like footer, header, content, and more.
 * @category Components
 */
declare class AXDecoratorGenericComponent extends MXBaseComponent {
    static ɵfac: i0.ɵɵFactoryDeclaration<AXDecoratorGenericComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AXDecoratorGenericComponent, "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay", never, {}, {}, never, ["*"], true, never>;
}

type AXHeadingWeight = 'regular' | 'medium' | 'semibold' | 'bold';
/**
 * A button component that displays a close icon and triggers an action when clicked.
 *
 * @category Components
 */
declare class AXDecoratorHeadingComponent extends MXBaseComponent {
    darkMode: i0.InputSignal<boolean>;
    color: i0.InputSignal<AXSurfaceType>;
    weight: i0.InputSignal<AXHeadingWeight>;
    private get __hostClass();
    static ɵfac: i0.ɵɵFactoryDeclaration<AXDecoratorHeadingComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AXDecoratorHeadingComponent, "ax-heading", never, { "darkMode": { "alias": "darkMode"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "weight": { "alias": "weight"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
}

/**
 * A component for displaying various types of icons including `<i>`, `<span>`, `<svg>`, and `<img>`.
 * @category Components
 */
declare class AXDecoratorIconComponent extends MXBaseComponent {
    /**
     * Specifies the icon to be displayed.
     *
     * @defaultValue  ''
     */
    icon: string;
    /**
     *  @ignore
     */
    private get __iconClass();
    static ɵfac: i0.ɵɵFactoryDeclaration<AXDecoratorIconComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AXDecoratorIconComponent, "ax-icon", never, { "icon": { "alias": "icon"; "required": false; }; }, {}, never, ["*"], true, never>;
}

declare class AXDecoratorModule {
    static ɵfac: i0.ɵɵFactoryDeclaration<AXDecoratorModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<AXDecoratorModule, never, [typeof i1.CommonModule, typeof AXDecoratorIconComponent, typeof AXDecoratorClearButtonComponent, typeof AXDecoratorCloseButtonComponent, typeof AXDecoratorGenericComponent, typeof AXDecoratorFullScreenButtonComponent, typeof AXDecoratorHeadingComponent, typeof AXDecoratorColorIndicatorComponent], [typeof AXDecoratorIconComponent, typeof AXDecoratorClearButtonComponent, typeof AXDecoratorCloseButtonComponent, typeof AXDecoratorGenericComponent, typeof AXDecoratorFullScreenButtonComponent, typeof AXDecoratorHeadingComponent, typeof AXDecoratorColorIndicatorComponent]>;
    static ɵinj: i0.ɵɵInjectorDeclaration<AXDecoratorModule>;
}

export { AXDecoratorClearButtonComponent, AXDecoratorCloseButtonComponent, AXDecoratorColorIndicatorComponent, AXDecoratorFullScreenButtonComponent, AXDecoratorGenericComponent, AXDecoratorHeadingComponent, AXDecoratorIconComponent, AXDecoratorModule };
