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

/**
 * 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 implements OnInit {
    private _popoverService;
    private _elementRef;
    private _renderer;
    private readonly _viewContainerRef;
    private _icon;
    /** Inline help text to display inside generated popover */
    readonly inlineHelpContent: i0.InputSignal<string | TemplateRef<any>>;
    /** Popover placement */
    readonly placement: i0.InputSignal<Placement | null>;
    /**
     * The trigger events that will open/close the inline help component.
     * Accepts any HTML DOM Events or TriggerConfig objects.
     * @default mouseenter/mouseleave and focusin/focusout
     */
    readonly triggers: i0.InputSignal<(string | TriggerConfig)[]>;
    /** Whether the popover should close when a click is made outside its boundaries. */
    readonly closeOnOutsideClick: i0.InputSignal<boolean>;
    /** @hidden */
    _describedBy: string;
    /** @hidden Internal body ID for ARIA */
    protected _bodyId: string;
    /** @hidden */
    protected _bodyRole: string;
    /** @hidden */
    private _additionalBodyClass;
    /** @hidden */
    private _srViewRef;
    /** @hidden */
    constructor(_popoverService: PopoverService, _elementRef: ElementRef, _renderer: Renderer2, _viewContainerRef: ViewContainerRef, _icon: Type<any>);
    /** @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, { "inlineHelpContent": { "alias": "fd-inline-help"; "required": false; "isSignal": true; }; "placement": { "alias": "placement"; "required": false; "isSignal": true; }; "triggers": { "alias": "triggers"; "required": false; "isSignal": true; }; "closeOnOutsideClick": { "alias": "closeOnOutsideClick"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
}

/**
 * @deprecated
 * Use direct imports of components and directives.
 */
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 };
