/**
 * Base interface for overlay behaviors.
 * Behaviors encapsulate reusable logic that can be attached to overlay services
 * (e.g., stack behavior, animation behavior, breakpoint observer).
 *
 * @public
 * @typeParam TRef - The type of overlay reference this behavior handles.
 * @typeParam TOptions - The type of options passed when opening an overlay.
 */
export interface IOverlayBehavior<TRef, TOptions = unknown> {
    /**
     * Called before an overlay is opened. Allows the behavior to modify the options.
     *
     * @param options - The options that will be used to open the overlay.
     */
    configure(options: Partial<TOptions>): void;
    /**
     * Called after an overlay is opened and attached to the DOM.
     *
     * @param ref - The reference to the opened overlay.
     */
    attach(ref: TRef): void;
    /**
     * Called when an overlay is closed and should be detached.
     *
     * @param ref - The reference to the overlay being closed.
     */
    detach(ref: TRef): void;
    /**
     * Called when the behavior should clean up all resources.
     */
    dispose(): void;
}
//# sourceMappingURL=IOverlayBehavior.d.ts.map