/** * Accessible splitter and persisted width state for the game/studio embed * dock. Layout ownership stays with the embed panel through the width * callback: the dock only decides "how wide", never "where". * * Ported from the proven Blocks with Friends dock so every game embedding * Crowdy Studio gets the same keyboard/pointer resize semantics. */ export declare const CROWDY_STUDIO_EMBED_NARROW_BREAKPOINT_PX = 1000; export declare const CROWDY_STUDIO_EMBED_DEFAULT_DOCK_RATIO = 0.52; export declare const CROWDY_STUDIO_EMBED_MIN_DOCK_WIDTH_PX = 480; export declare const CROWDY_STUDIO_EMBED_MIN_GAME_WIDTH_PX = 420; export declare const CROWDY_STUDIO_EMBED_SPLITTER_WIDTH_PX = 10; export declare const CROWDY_STUDIO_EMBED_DOCK_WIDTH_STORAGE_KEY = "ck:crowdy-studio:embed:dock-width:v1"; export interface CrowdyStudioEmbedDockWidthRange { min: number; max: number; } export type CrowdyStudioEmbedDockStorage = Pick; /** * Width bounds for the right-hand studio dock. The desktop breakpoint ensures * these minimums do not conflict in normal use; the defensive Math.min keeps * direct callers safe in unusually small test or embedded viewports. */ export declare function crowdyStudioEmbedDockWidthRange(viewportWidth?: number): CrowdyStudioEmbedDockWidthRange; export declare function clampCrowdyStudioEmbedDockWidth(width: number, viewportWidth?: number): number; export declare class CrowdyStudioEmbedDock { private readonly onWidthChange; private readonly storage; readonly separator: HTMLDivElement; private preferredWidth; private currentWidth; private active; private draggingPointerId; constructor(onWidthChange: (width: number) => void, storage?: CrowdyStudioEmbedDockStorage | null); get width(): number; activate(): void; deactivate(): void; /** Re-clamp the preferred width after a viewport resize. */ refresh(): void; destroy(): void; private applyPreferredWidth; private setPreferredWidth; private updateAria; private readonly keyDown; private readonly pointerDown; private readonly pointerMove; private readonly pointerUp; private readonly pointerCancel; private stopDragging; private loadPersistedWidth; private persistWidth; } export declare function addBodyClass(name: string): void; export declare function removeBodyClass(...names: readonly string[]): void; //# sourceMappingURL=dock.d.ts.map