export interface StageLayout { model: string; /** The full lane order — every lane key (stages + smart lanes) in order. */ stage_order: string[]; } export interface UseStageLayoutResult { /** True only after a successful GET — gates the lane drag + reset affordance. */ available: boolean; /** True when a custom order is stored server-side (drives the reset affordance). */ hasCustomLayout: boolean; /** Persist the full lane order (the new order of every lane key). Throws on failure. */ save: (order: string[]) => Promise; /** Drop the stored order, reverting to the declared stage order. */ reset: () => Promise; } /** * Loads a model's saved lane order (only to learn availability + whether a * custom order exists) and exposes save/reset. A missing endpoint degrades to * `available: false` so the board's lane drag stays off; a real save failure * re-throws so the caller can revert its optimistic reorder. */ export declare function useStageLayout(model: string): UseStageLayoutResult; //# sourceMappingURL=stage-layout.d.ts.map