import type { Address } from "./types.js"; interface RangeModel { top: number; left: number; bottom: number; right: number; sheetName?: string; } interface RowDimensions { min: number; max: number; } interface RowWithDimensions { number: number; dimensions?: RowDimensions; } export type RangeInput = Range | RangeModel | string | number | RangeInput[]; declare class Range { model: RangeModel; constructor(); constructor(range: Range); constructor(model: RangeModel); constructor(rangeString: string); constructor(args: RangeInput[]); constructor(tl: string, br: string); constructor(tl: string, br: string, sheetName: string); constructor(top: number, left: number, bottom: number, right: number); constructor(top: number, left: number, bottom: number, right: number, sheetName: string); setTLBR(tl: string, br: string, sheetName?: string): void; setTLBR(top: number, left: number, bottom: number, right: number, sheetName?: string): void; private decode; get top(): number; set top(value: number); get left(): number; set left(value: number); get bottom(): number; set bottom(value: number); get right(): number; set right(value: number); get sheetName(): string | undefined; set sheetName(value: string | undefined); private get _serialisedSheetName(); expand(top: number, left: number, bottom: number, right: number): void; expandRow(row: RowWithDimensions | null | undefined): void; expandToAddress(addressStr: string): void; get tl(): string; get $t$l(): string; get br(): string; get $b$r(): string; get range(): string; get $range(): string; get shortRange(): string; get $shortRange(): string; get count(): number; toString(): string; intersects(other: Range): boolean; contains(addressStr: string): boolean; containsEx(address: Address): boolean; forEachAddress(cb: (address: string, row: number, col: number) => void): void; } export { Range }; export { Range as Dimensions };