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

/**
 * Represents a label component that provides a way to display text labels within the application.
 *
 * @category Components
 */
declare class AXLabelComponent extends MXBaseComponent {
    /**
     * Emitted when the `required` property changes.
     *
     * @event
     */
    requiredChange: EventEmitter<boolean>;
    /**
     *  @ignore
     */
    private _required?;
    /**
     * Determines if the field is required.
     *
     * @defaultValue false
     */
    get required(): boolean;
    /**
     * Sets whether the field is required.
     *
     * @param v - A boolean indicating if the field is required.
     */
    set required(v: boolean);
    /**
     *  @ignore
     */
    private _for;
    /**
     * Gets the form control or component associated with the label.
     */
    get for(): MXValueComponent;
    /**
     * Sets the form control or component associated with the label.
     *
     * @param v The `MXValueComponent` to associate with the label.
     */
    set for(v: MXValueComponent);
    static ɵfac: i0.ɵɵFactoryDeclaration<AXLabelComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AXLabelComponent, "ax-label", never, { "required": { "alias": "required"; "required": false; }; "for": { "alias": "for"; "required": false; }; }, { "requiredChange": "requiredChange"; }, never, ["*"], true, never>;
}

declare class AXLabelModule {
    static ɵfac: i0.ɵɵFactoryDeclaration<AXLabelModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<AXLabelModule, never, [typeof AXLabelComponent], [typeof AXLabelComponent]>;
    static ɵinj: i0.ɵɵInjectorDeclaration<AXLabelModule>;
}

export { AXLabelComponent, AXLabelModule };
