import type { WindowConfig } from "@edenapp/types"; import type { Bounds } from "../platform/ports"; import type { ViewInfo } from "./types"; type ViewCollection = () => Iterable; /** * FloatingWindowController * * Encapsulates floating window calculations: bounds, constraints, and z-ordering. */ export declare class FloatingWindowController { private readonly getWorkspaceBounds; private readonly getViews; private readonly getInterfaceScale; private static readonly MIN_GRABBABLE_WIDTH; private static readonly MIN_GRABBABLE_HEIGHT; private static readonly CASCADE_OFFSET; constructor(getWorkspaceBounds: () => Bounds, getViews: ViewCollection, getInterfaceScale?: () => number); private scaled; /** * Calculate initial bounds for a floating window, including cascade offset. */ calculateInitialBounds(windowConfig?: WindowConfig, applyInterfaceScale?: boolean): Bounds; /** * Apply window-level constraints and workspace bounds to floating windows. */ applyWindowConstraints(bounds: Bounds, windowConfig?: WindowConfig, applyInterfaceScale?: boolean): Bounds; /** * Get the next z-index for floating windows (top-most position). */ getNextZIndex(): number; /** * Get the z-index that would place a window at the back of the floating stack. */ getBackmostZIndex(): number | undefined; /** * Calculate a z-index for a desired position in the floating stack. */ getZIndexForPosition(position: number): number | undefined; /** * Get floating views ordered by z-index ascending. */ getOrderedFloatingViews(): ViewInfo[]; private getFloatingViews; private constrainBounds; } export {}; //# sourceMappingURL=FloatingWindowController.d.ts.map