import * as i0 from '@angular/core';
import { OnInit, OnChanges, TemplateRef, ElementRef, Renderer2, ViewContainerRef, Type, SimpleChanges } from '@angular/core';
import { BasePopoverClass, TriggerConfig, PopoverService } from '@fundamental-ngx/core/popover';

/**
 * The component that represents an inline-help.
 * Inline help is used to display help text in a popover, often inline with headers, body text and form labels.
 */
declare class InlineHelpDirective extends BasePopoverClass implements OnInit, OnChanges {
    private _popoverService;
    private _elementRef;
    private _renderer;
    private readonly _viewContainerRef;
    private _icon;
    /** The trigger events that will open/close the inline help component.
     *  Accepts any [HTML DOM Events](https://www.w3schools.com/jsref/dom_obj_event.asp). */
    triggers: (string | TriggerConfig)[];
    /** Whether the popover should have an arrow. */
    noArrow: boolean;
    /** Whether the popover should close when the escape key is pressed. */
    closeOnEscapeKey: boolean;
    /** Whether the popover should close when a click is made outside its boundaries. */
    closeOnOutsideClick: boolean;
    /** Inline help text to display inside generated popover */
    set inlineHelpContent(content: string | TemplateRef<any>);
    /** @hidden */
    _describedBy: string;
    /** @hidden */
    private _srViewRef;
    /** @hidden */
    constructor(_popoverService: PopoverService, _elementRef: ElementRef, _renderer: Renderer2, _viewContainerRef: ViewContainerRef, _icon: Type<any>);
    /** @hidden */
    ngOnChanges(changes: SimpleChanges): void;
    /** @hidden */
    ngOnInit(): void;
    /** @hidden */
    private _applyAdditionalInlineHelpClass;
    /** @hidden */
    private _setupScreenreaderElement;
    static ɵfac: i0.ɵɵFactoryDeclaration<InlineHelpDirective, [null, null, null, null, { optional: true; self: true; }]>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<InlineHelpDirective, "[fd-inline-help]:not([fd-inline-help-template]), [fd-inline-help-template]:not([fd-inline-help])", never, { "triggers": { "alias": "triggers"; "required": false; }; "noArrow": { "alias": "noArrow"; "required": false; }; "closeOnEscapeKey": { "alias": "closeOnEscapeKey"; "required": false; }; "closeOnOutsideClick": { "alias": "closeOnOutsideClick"; "required": false; }; "inlineHelpContent": { "alias": "fd-inline-help"; "required": false; }; }, {}, never, never, true, never>;
}

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

export { InlineHelpDirective, InlineHelpModule };
