/** * Which rows of a list fit the lines it is given. * * A list that fits shows whole. One that does not shows a window that keeps * the caret in view, starting no later than it must, and gives a line to * naming the rows it leaves out above and another to those below. A row can * also be pinned above the window, such as the header of the group the caret * is in once the header has scrolled away; it takes a line of its own. */ export interface ListWindow { /** The first row the window shows. */ readonly start: number; /** One past the last row the window shows. */ readonly end: number; /** A row above the window shown before it, or `undefined`. */ readonly pinned: number | undefined; } /** * The window over `count` rows that keeps `cursor` in view within `room` * lines. `pin` names the row to keep above a window that has scrolled past it. */ export declare const listWindow: (count: number, cursor: number, room: number, pin?: (cursor: number) => number | undefined) => ListWindow; /** How many rows a window leaves out above itself, not counting a pinned row. */ export declare const skippedAbove: (window: ListWindow) => number; //# sourceMappingURL=list-window.d.ts.map