import * as _fundamental_ngx_core_popover from '@fundamental-ngx/core/popover';
import { TriggerConfig } from '@fundamental-ngx/core/popover';
import * as _angular_core from '@angular/core';
import { TemplateRef, ElementRef } from '@angular/core';
import { ScrollStrategy } from '@angular/cdk/overlay';
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 {
    /** Inline help text to display inside generated popover */
    readonly inlineHelpContent: _angular_core.InputSignal<string | TemplateRef<any>>;
    /** Popover placement */
    readonly placement: _angular_core.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: _angular_core.InputSignal<(string | TriggerConfig)[]>;
    /** Whether the popover should close when a click is made outside its boundaries. */
    readonly closeOnOutsideClick: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /** Additional CSS class(es) to apply to the popover body. */
    readonly additionalBodyClass: _angular_core.InputSignal<string | null>;
    /** Whether the inline help is disabled. */
    readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /** ID for the Inline Help Popover body */
    readonly bodyId: _angular_core.InputSignal<string>;
    /** aria-role for the Inline Help Popover body */
    readonly bodyRole: _angular_core.InputSignal<string>;
    /** Whether the popover should have an arrow. */
    readonly noArrow: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /** Whether the popover should close when the escape key is pressed. */
    readonly closeOnEscapeKey: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /** Whether to close the popover on router navigation start. */
    readonly closeOnNavigation: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /** Whether to restore focus to the previously focused element when the popover closes. */
    readonly restoreFocusOnClose: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /** The element to which the overlay is attached. By default it is body. */
    readonly appendTo: _angular_core.InputSignal<ElementRef<any> | Element | null | undefined>;
    /** Whether position should remain fixed when approaching page corners. */
    readonly fixedPosition: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /** Maximum width of popover body in px. */
    readonly maxWidth: _angular_core.InputSignal<number | null | undefined>;
    /** CDK scroll strategy applied to the inline help overlay. */
    readonly scrollStrategy: _angular_core.InputSignal<ScrollStrategy | null>;
    /** @hidden Combined internal + user-provided body classes. */
    readonly combinedBodyClass: _angular_core.Signal<string>;
    /** @hidden Popover configuration computed from all inputs. */
    readonly popoverConfig: _angular_core.Signal<_fundamental_ngx_core_popover.PopoverConfig>;
    /** @hidden */
    private readonly _popoverService;
    /** @hidden */
    private readonly _elementRef;
    /** @hidden */
    private readonly _renderer;
    /** @hidden */
    private readonly _viewContainerRef;
    /** @hidden */
    private readonly _icon;
    /** @hidden */
    private _additionalBodyClass;
    /** @hidden */
    private _srViewRef;
    /** @hidden */
    private _initialised;
    /** @hidden */
    constructor();
    /** @hidden */
    private _applyAdditionalInlineHelpClass;
    /** @hidden */
    private _setupScreenreaderElement;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<InlineHelpDirective, never>;
    static ɵdir: _angular_core.ɵɵ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; }; "additionalBodyClass": { "alias": "additionalBodyClass"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "bodyId": { "alias": "bodyId"; "required": false; "isSignal": true; }; "bodyRole": { "alias": "bodyRole"; "required": false; "isSignal": true; }; "noArrow": { "alias": "noArrow"; "required": false; "isSignal": true; }; "closeOnEscapeKey": { "alias": "closeOnEscapeKey"; "required": false; "isSignal": true; }; "closeOnNavigation": { "alias": "closeOnNavigation"; "required": false; "isSignal": true; }; "restoreFocusOnClose": { "alias": "restoreFocusOnClose"; "required": false; "isSignal": true; }; "appendTo": { "alias": "appendTo"; "required": false; "isSignal": true; }; "fixedPosition": { "alias": "fixedPosition"; "required": false; "isSignal": true; }; "maxWidth": { "alias": "maxWidth"; "required": false; "isSignal": true; }; "scrollStrategy": { "alias": "scrollStrategy"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
}

/**
 * @deprecated
 * Use direct imports of components and directives.
 */
declare class InlineHelpModule {
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<InlineHelpModule, never>;
    static ɵmod: _angular_core.ɵɵNgModuleDeclaration<InlineHelpModule, never, [typeof InlineHelpDirective], [typeof InlineHelpDirective]>;
    static ɵinj: _angular_core.ɵɵInjectorDeclaration<InlineHelpModule>;
}

export { InlineHelpDirective, InlineHelpModule };
