import type { IOverlayBehavior } from '../../Abstracts/IOverlayBehavior'; import type { IDialogRef, IDialogOptions } from '../DialogService'; import { type IDialogStackBehaviorConfig } from './IDialogStackBehaviorConfig'; /** * Behavior that manages a stack of dialogs with decreasing sizes. * Each dialog in the stack is offset from the previous one, creating * a cascading visual effect. * * @public */ export declare class DialogStackBehavior implements IOverlayBehavior { private readonly _config; private readonly _stack; /** * Constructs a new instance of the `DialogStackBehavior` class. * * @public * @param config - Optional configuration for stack behavior. */ constructor(config?: Partial); /** * Returns the current number of dialogs in the stack. * * @public * @readonly */ get stackSize(): number; /** * Returns the current stack configuration. * * @public * @readonly */ get config(): Readonly; /** * Returns an array of all dialog references in stack order (oldest first). * * @public * @readonly */ get stack(): ReadonlyArray; /** * Configures the dialog options before opening. * Validates stack depth limits. * * @public * @param options - The dialog options to configure. */ configure(_options: Partial): void; /** * Attaches a dialog to the stack and applies stack styling. * * @public * @param ref - The dialog reference to attach. */ attach(ref: IDialogRef): void; /** * Detaches a dialog from the stack. * * @public * @param ref - The dialog reference to detach. */ detach(ref: IDialogRef): void; /** * Disposes of all resources and clears the stack. * * @public */ dispose(): void; /** * Calculates the width for a dialog at a specific stack level. * * @public * @param stackLevel - The zero-based index of the dialog in the stack. * @param baseWidthOverride - Optional override for the base width. * @returns The calculated CSS width string. */ calculateWidth(stackLevel: number, baseWidthOverride?: string): string; /** * Calculates the height for a dialog at a specific stack level. * * @public * @param stackLevel - The zero-based index of the dialog in the stack. * @param baseHeightOverride - Optional override for the base height. * @returns The calculated CSS height string. */ calculateHeight(stackLevel: number, baseHeightOverride?: string): string; /** * Calculates the z-index for a dialog at a specific stack level. * * @private * @param stackLevel - The zero-based index of the dialog in the stack. * @returns The calculated z-index value. */ private calculateZIndex; /** * Applies the stacked CSS class to all dialogs except the topmost one. * * @private */ private applyStackedClasses; /** * Recalculates and applies sizes for all remaining dialogs in the stack. * * @private */ private recalculateStackSizes; /** * Applies stack-related styles to a dialog element. * * @private * @param ref - The dialog reference. * @param stackLevel - The stack level for this dialog. * @param computedWidth - The computed width for this dialog. * @param computedHeight - The computed height for this dialog. */ private applyStackStyles; } //# sourceMappingURL=DialogStackBehavior.d.ts.map