import type { Address } from "@excel/types";
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);
    get _serialisedSheetName(): string;
    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 };
