import { BaseDirective } from './base.directive'; import { ModelSignal, OutputEmitterRef } from '@angular/core'; import { BaseActions, BaseProps } from './base.directive'; import * as i0 from "@angular/core"; /** * @TailwindNG Popup base props. */ export interface PopupProps extends BaseProps { readonly id: string; /** * Restores focus to the popup's trigger when the popup closes. */ readonly restoreFocus?: boolean | PopupTrigger; readonly isOpened: ModelSignal; } export interface PopupTrigger { focus(): unknown; } /** * @TailwindNG Popup basic actions. */ export interface PopupBaseActions extends BaseActions { /** * Toggles the component. */ toggle(): void; /** * Opens the component. */ open(): void; /** * Closes the component. */ close(): void; } /** * @TailwindNG Popup advanced actions. */ export interface PopupAdvancedActions { /** * Closes the component after the given delay in milliseconds without `ms` suffix. * - Acceptable delay is between `[1000, 10_000]`. The default value is `2000`. * - If the given delay is out of range, the default value is used. * @param delay The delay in milliseconds. */ closeAfter(delay: number): void; } export interface Popup extends PopupProps, PopupBaseActions, PopupAdvancedActions { /** * A signal that indicates whether the popup is opened. Emits `true` when the popup opens and `false` when it closes. */ readonly opened: OutputEmitterRef; /** * Event emitted when the popup closes. */ readonly closed: OutputEmitterRef; } export declare abstract class PopupDirective extends BaseDirective implements Popup { private readonly _zIndex; id: string; restoreFocus: boolean | PopupTrigger; readonly isOpened: ModelSignal; readonly opened: OutputEmitterRef>; readonly closed: OutputEmitterRef>; protected get zIndex(): string; toggle(): void; private trigger; open(): void; close(): void; private timer; closeAfter(delay?: number): void; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵdir: i0.ɵɵDirectiveDeclaration, never, never, { "id": { "alias": "id"; "required": false; }; "restoreFocus": { "alias": "restoreFocus"; "required": false; }; "isOpened": { "alias": "isOpened"; "required": false; "isSignal": true; }; }, { "isOpened": "isOpenedChange"; "opened": "opened"; "closed": "closed"; }, never, never, true, never>; }