/** @jsxImportSource preact */ /** * @license * Copyright 2026 Steven Roussey * SPDX-License-Identifier: Apache-2.0 */ import type { JSX } from "preact"; import { type RailSide } from "../railWidths"; export interface RailResizerProps { readonly side: RailSide; /** Current width of the rail this handle drags. */ readonly width: number; /** Width of the OTHER rail, which is part of what bounds this one. */ readonly otherWidth: number; readonly onResize: (width: number) => void; } /** * The draggable seam between a rail and the centre column. * * Positioned against `.app` rather than parented to the rail: the status rail * scrolls, and an absolutely positioned child of a scrollport rides its * content instead of standing still at the edge. * * It is a `separator` with a value, so the keyboard gets the same range the * pointer does — a resize that only exists under a mouse is a resize half the * operators cannot make. */ export declare function RailResizer({ side, width, otherWidth, onResize }: RailResizerProps): JSX.Element;