import { DomPortal } from '@angular/cdk/portal';
import { AfterViewInit, QueryList } from '@angular/core';
import { BaseComponent } from '../../base-component';
import { ControlState } from '../form-field/error-state-matcher';
import { NxControlMessage } from './control-message/control-message.component';
import * as i0 from "@angular/core";
import * as i1 from "../use-form-style.directive";
/** Container component to manage nx-control-message selection. */
export declare class NxControlMessagesComponent extends BaseComponent implements AfterViewInit {
    /** How many lines of space to preallocate.
     *
     * Should be the number of lines taken up by the tallest message. The
     * height of messages that don't require error data can be checked by
     * setting removing/overriding `overflow: hidden` on the host and
     * `visibility: hidden` on the sizing container in browser devtools.
     */
    spacingLines: import("@angular/core").InputSignal<number>;
    protected get _spacingLines(): number;
    /** For displaying text associated with select options */
    useValueState: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
    /** Manual control of message selection.
     *
     * Like with errors, the key should match the `nx-control-message` key.
     */
    manualState: import("@angular/core").InputSignalWithTransform<ControlState | null, string | ControlState | null>;
    state: import("@angular/core").Signal<ControlState | null>;
    protected set _projectedMessages(messages: QueryList<NxControlMessage>);
    protected projectedMessages: import("@angular/core").WritableSignal<NxControlMessage[]>;
    protected messages: import("@angular/core").Signal<Map<string, NxControlMessage>>;
    protected _selectedMessageEffect: import("@angular/core").EffectRef;
    protected selectedMessage: import("@angular/core").WritableSignal<DomPortal<HTMLElement> | undefined>;
    private nxFormField;
    private host;
    protected width: import("@angular/core").WritableSignal<number | undefined>;
    ngAfterViewInit(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<NxControlMessagesComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<NxControlMessagesComponent, "nx-control-messages", never, { "spacingLines": { "alias": "spacingLines"; "required": false; "isSignal": true; }; "useValueState": { "alias": "useValueState"; "required": false; "isSignal": true; }; "manualState": { "alias": "state"; "required": false; "isSignal": true; }; }, {}, ["_projectedMessages"], ["*"], true, [{ directive: typeof i1.__NxUseFormStyleDirective; inputs: {}; outputs: {}; }]>;
}
