import { Well, WellPlateFormat, WellPlateSize } from '../types'; export interface WellPlateConfig { rows: number; cols: number; } export interface WellPlateCoordinate { row: number; col: number; } export interface WellPlateSizeConfig { cellWidth: string; cellHeight: string; headerWidth: string; headerHeight: string; fontSize: string; gap: string; } export declare const PLATE_CONFIGS: Record; export declare const WELL_PLATE_SIZE_CONFIGS: Record; /** * Spreadsheet-style row label for a zero-based row index: A…Z, then AA, AB, … * * This is the single row-label generator for the SDK — plate grids, rack * grids, well-id parsing and the template builders all go through it. */ export declare function rowLabel(index: number): string; /** Inverse of {@link rowLabel}: 'A' → 0, 'Z' → 25, 'AA' → 26. */ export declare function rowIndex(label: string): number; export declare function createPlateRowLabels(config: WellPlateConfig): string[]; /** Every well id of a plate, row-major (A1, A2, … B1, …). */ export declare function wellIdsForFormat(format: number): string[]; /** Throw unless `wellId` names a well that exists on a `format`-well plate. */ export declare function assertWellInFormat(wellId: string, format: number): void; /** Coerce an unknown value to a supported plate format, else `fallback`. */ export declare function readPlateFormat(value: unknown, fallback: WellPlateFormat): WellPlateFormat; export declare function createPlateColumnLabels(config: WellPlateConfig): number[]; export declare function createWellGrid(config: WellPlateConfig, rowLabels: string[], wells: Record>): Well[][]; export declare function getRectangleWellIds(start: WellPlateCoordinate, end: WellPlateCoordinate, rowLabels: string[]): Set;