import { ElementRef, EventEmitter } from '@angular/core';
import { PopoverComponent, TriggerConfig } from '@fundamental-ngx/core/popover';
import { Placement, PopoverFillMode } from '@fundamental-ngx/core/shared';
import * as i0 from "@angular/core";
export declare class FormInputMessageGroupComponent {
    /**
     * To allow user to determine what event he wants to trigger the messages to show
     * Accepts any [HTML DOM Events](https://www.w3schools.com/jsref/dom_obj_event.asp).
     */
    triggers: (string | TriggerConfig)[];
    /**
     * Allows the user to decide if he wants to keep the error message after they click outside
     * Whether the popover should close when a click is made outside its boundaries.
     */
    closeOnOutsideClick: boolean;
    /**
     * Preset options for the message body width.
     * * `at-least` will apply a minimum width to the body equivalent to the width of the control.
     * * `equal` will apply a width to the body equivalent to the width of the control.
     * * Leave blank for no effect.
     */
    fillControlMode: PopoverFillMode;
    /** Whether the popover should have an arrow. */
    noArrow: boolean;
    /** Whether the popover should close when the escape key is pressed. */
    closeOnEscapeKey: boolean;
    /** The placement of the popover. It can be one of: top, top-start, top-end, bottom,
     *  bottom-start, bottom-end, right, right-start, right-end, left, left-start, left-end. */
    placement: Placement;
    /**
     * @experimental
     * Container element, in which form message popover will be rendered.
     */
    placementContainer: 'body' | 'self';
    /** Whether the message is open. Can be used through two-way binding. */
    isOpen: boolean;
    /**
     * Whether the popover should prevent page scrolling when space key is pressed.
     **/
    preventSpaceKeyScroll: boolean;
    /** Event emitted when the state of the isOpen property changes. */
    isOpenChange: EventEmitter<boolean>;
    /** @hidden */
    _popoverPlacementContainer: ElementRef | undefined;
    /** @hidden */
    _popover: PopoverComponent;
    /** @hidden */
    readonly _elementRef: ElementRef<any>;
    /**
     * Function is called every time message changes isOpen attribute
     */
    openChanged(isOpen: boolean): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<FormInputMessageGroupComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<FormInputMessageGroupComponent, "fd-form-input-message-group", never, { "triggers": { "alias": "triggers"; "required": false; }; "closeOnOutsideClick": { "alias": "closeOnOutsideClick"; "required": false; }; "fillControlMode": { "alias": "fillControlMode"; "required": false; }; "noArrow": { "alias": "noArrow"; "required": false; }; "closeOnEscapeKey": { "alias": "closeOnEscapeKey"; "required": false; }; "placement": { "alias": "placement"; "required": false; }; "placementContainer": { "alias": "placementContainer"; "required": false; }; "isOpen": { "alias": "isOpen"; "required": false; }; "preventSpaceKeyScroll": { "alias": "preventSpaceKeyScroll"; "required": false; }; }, { "isOpenChange": "isOpenChange"; }, never, ["*", "fd-form-message"], true, never>;
}
