import type { Address, Location } from "../types.js";
type CachedAddress = Address & {
    $col$row: string;
};
export type DecodedRange = Location & {
    tl: string | CachedAddress;
    br: string | CachedAddress;
    dimensions: string;
    sheetName?: string;
};
interface ErrorReference {
    error: string;
    sheetName?: string;
}
type DecodeExResult = CachedAddress | DecodedRange | ErrorReference;
interface ColCache {
    _dictionary: string[];
    _l2nFill: number;
    _l2n: Record<string, number>;
    _n2l: string[];
    _hash: Record<string, CachedAddress>;
    _level(n: number): number;
    _fill(level: number): void;
    l2n(l: string): number;
    n2l(n: number): string;
    validateAddress(value: string): boolean;
    decodeAddress(value: string): CachedAddress;
    getAddress(r: number | string, c?: number): CachedAddress;
    decode(value: string): CachedAddress | DecodedRange;
    decodeEx(value: string): DecodeExResult;
    encodeAddress(row: number, col: number): string;
    encode(...args: number[]): string;
    inRange(range: number[], address: number[]): boolean;
}
declare const colCache: ColCache;
export { colCache };
