/** * Grid3 Grid Calculations * * Utilities for calculating grid dimensions and definitions * based on page layout and button count. */ import type { AACPage } from '../../core/treeStructure'; /** * Grid definition structure for Grid 3 XML */ export interface GridDefinitions { ColumnDefinition: any[]; } export interface RowDefinitions { RowDefinition: any[]; } /** * Calculate column definitions based on page layout * * Analyzes the page's grid structure to determine the number of columns. * If no grid exists, estimates from button count. * * @param page - The AAC page to analyze * @returns Column definitions object for Grid 3 XML * * @example * const columns = calculateColumnDefinitions(page); * // Returns: { ColumnDefinition: [{}, {}, {}, {}] } for 4 columns */ export declare function calculateColumnDefinitions(page: AACPage): GridDefinitions; /** * Calculate row definitions based on page layout * * Analyzes the page's grid structure to determine the number of rows. * If no grid exists, estimates from button count. * * @param page - The AAC page to analyze * @param addWorkspaceOffset - Whether to add 1 row for workspace (default: false) * @returns Row definitions object for Grid 3 XML * * @example * const rows = calculateRowDefinitions(page, false); * // Returns: { RowDefinition: [{}, {}, {}, {}] } for 4 rows */ export declare function calculateRowDefinitions(page: AACPage, addWorkspaceOffset?: boolean): RowDefinitions;