import * as _angular_core from '@angular/core';
import { OnInit, OnDestroy, TemplateRef } from '@angular/core';

/**
 * @deprecated Use {@link SiPopoverDirective} instead.
 */
declare class SiPopoverLegacyDirective implements OnInit, OnDestroy {
    /**
     * The popover text to be displayed
     */
    readonly siPopoverLegacy: _angular_core.InputSignal<string | TemplateRef<any> | undefined>;
    /**
     * The placement of the popover. One of 'top', 'start', end', 'bottom'
     *
     * @defaultValue 'auto'
     */
    readonly placement: _angular_core.InputSignal<"auto" | "start" | "end" | "top" | "bottom">;
    readonly placementInternal: _angular_core.Signal<"auto" | "start" | "end" | "top" | "bottom">;
    /**
     * The trigger event(s) on which the popover shall be displayed.
     * Applications can pass multiple triggers separated by space.
     * Supported events are 'click', 'hover' and 'focus'.
     *
     * **Limitations:**
     * Safari browsers do not raise a 'focus' event on host element click and 'focus'
     * on tab key has to be enabled in the advanced browser settings.
     *
     * @defaultValue 'click'
     */
    readonly triggers: _angular_core.InputSignal<string>;
    /**
     * The title to be displayed on top for the popover
     *
     * @defaultValue ''
     */
    readonly popoverTitle: _angular_core.InputSignal<string>;
    /**
     * The class that will be applied to container of the popover
     *
     * @defaultValue ''
     */
    readonly containerClass: _angular_core.InputSignal<string>;
    /**
     * The flag determines whether to close popover on clicking outside
     *
     * @defaultValue true
     */
    readonly outsideClick: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /**
     * The icon to be displayed besides popover title
     */
    readonly icon: _angular_core.InputSignal<string | undefined>;
    /**
     * Specify whether or not the popover is currently shown
     *
     * @defaultValue false
     */
    readonly isOpen: _angular_core.InputSignalWithTransform<boolean | undefined, unknown>;
    /**
     * The context for the attached template
     */
    readonly popoverContext: _angular_core.InputSignal<unknown>;
    /**
     * Emits an event when the popover is shown
     */
    readonly shown: _angular_core.OutputEmitterRef<void>;
    /**
     * Emits an event when the popover is hidden
     */
    readonly hidden: _angular_core.OutputEmitterRef<void>;
    private overlayref?;
    private overlay;
    private elementRef;
    private destroyer;
    ngOnInit(): void;
    ngOnDestroy(): void;
    /**
     * Displays popover and emits 'shown' event.
     */
    show(): void;
    /**
     * Hides the popover and emits 'hidden' event.
     */
    hide(): void;
    /**
     * Updates the position of the popover based on the position strategy.
     */
    updatePosition(): void;
    protected onTrigger(trigger: string): void;
    protected focusOut(): void;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<SiPopoverLegacyDirective, never>;
    static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SiPopoverLegacyDirective, "[siPopoverLegacy]", ["si-popover"], { "siPopoverLegacy": { "alias": "siPopoverLegacy"; "required": false; "isSignal": true; }; "placement": { "alias": "placement"; "required": false; "isSignal": true; }; "triggers": { "alias": "triggers"; "required": false; "isSignal": true; }; "popoverTitle": { "alias": "popoverTitle"; "required": false; "isSignal": true; }; "containerClass": { "alias": "containerClass"; "required": false; "isSignal": true; }; "outsideClick": { "alias": "outsideClick"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "isOpen": { "alias": "isOpen"; "required": false; "isSignal": true; }; "popoverContext": { "alias": "popoverContext"; "required": false; "isSignal": true; }; }, { "shown": "shown"; "hidden": "hidden"; }, never, never, true, never>;
}

/**
 * @deprecated Use {@link SiPopoverDirective} instead.
 */
declare class SiPopoverLegacyModule {
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<SiPopoverLegacyModule, never>;
    static ɵmod: _angular_core.ɵɵNgModuleDeclaration<SiPopoverLegacyModule, never, [typeof SiPopoverLegacyDirective], [typeof SiPopoverLegacyDirective]>;
    static ɵinj: _angular_core.ɵɵInjectorDeclaration<SiPopoverLegacyModule>;
}

export { SiPopoverLegacyDirective, SiPopoverLegacyModule };
