/** * Excel-style A1 cell address helpers. * * Public cell coordinates in gridgram are **1-based** and can be * written as either: * - A1 string: "A1", "B3", "AA100" — case-insensitive * - numeric tuple: [1, 1] (column 1, row 1) * - numeric obj: { col: 1, row: 1 } * * A1 = column 1, row 1 = top-left. Columns carry over the standard * Excel way: A..Z, AA..AZ, BA..BZ, …, ZZ, AAA… * * Internally gridgram normalizes every input to a 0-based `{ col, row }` * (see auto-position.ts) so layout math stays simple. */ export interface OneBased { /** 1-based column (A=1). */ col: number; /** 1-based row (top=1). */ row: number; } /** True if `s` is syntactically a valid A1 address (letters + digits, row ≥ 1). */ export declare function isA1(s: string): boolean; /** * Parse a string as an A1 cell address to 1-based `{col, row}`. Throws * with a readable message on a malformed address. * * Accepts lower-case (`"aa100"`) but normalises to column math that * treats letters as case-insensitive. */ export declare function parseA1(s: string): OneBased; /** Serialise 1-based `{col, row}` back to an A1 address ("A1", "AA100"). */ export declare function formatA1(col: number, row: number): string; //# sourceMappingURL=a1.d.ts.map