import { DraftComponent } from "draft-js";
import { AieStyleMap } from "../aie";
import { AioExternalReplacements, AioReplacement } from "../aio";
export interface AitCellData {
    aitid?: string;
    text: string;
    justifyText?: DraftComponent.Base.DraftTextAlignment | "decimal";
    comments?: string;
    colSpan?: number;
    rowSpan?: number;
    colWidth?: number;
    textIndents?: number;
    replacedText?: string;
    repeatColSpan?: number;
    repeatRowSpan?: number;
    spaceAfterRepeat?: boolean;
    spaceAfterSpan?: number;
}
export interface AitRowData {
    aitid?: string;
    rowRepeat?: string;
    cells: AitCellData[];
    spaceAfter?: boolean;
}
export interface AitRowGroupData {
    aitid?: string;
    name?: string;
    rows: AitRowData[];
    comments?: string;
    spaceAfter?: boolean;
    replacements?: AioReplacement[];
}
export interface AitTableData {
    headerData?: AitRowGroupData | false;
    bodyData?: AitRowGroupData[];
    comments?: string;
    rowHeaderColumns?: number;
    noRepeatProcessing?: boolean;
}
export interface AitCoord {
    row: number;
    column: number;
}
export interface AitLocation extends AitCoord {
    tableSection: AitRowType;
    rowGroup: number;
    rowRepeat?: string;
    colRepeat?: string;
}
export interface AitColumnRepeat {
    columnIndex: number;
    colRepeat?: string;
}
export declare enum AitCellType {
    header = "header",
    rowHeader = "rowHeader",
    body = "body"
}
export declare enum AitRowType {
    header = "header",
    body = "body"
}
export interface AitOptionList {
    noRepeatProcessing?: boolean;
    externalLists?: AioExternalReplacements[];
    showCellBorders?: boolean;
    groupTemplateNames?: string[];
    commentStyles?: AieStyleMap;
    cellStyles?: AieStyleMap;
    columnRepeats?: AitColumnRepeat[] | null;
    headerRows?: number;
    setHeaderRows?: (ret: number) => void;
    rowHeaderColumns?: number;
    setRowHeaderColumns?: (ret: number) => void;
}
