/**
 * Type definitions for table editing feature
 */
/**
 * Cell appearance properties
 */
export interface CellProperties {
    borderStyle: 'none' | 'solid' | 'dashed' | 'dotted' | 'double';
    borderColor: string;
    borderWidth: string;
    backgroundColor: string;
    width: string;
    height: string;
    padding: string;
    textAlign: 'left' | 'center' | 'right' | 'justify';
    verticalAlign: 'top' | 'middle' | 'bottom';
}
/**
 * Table toolbar state
 */
export interface TableToolbarState {
    visible: boolean;
    position: {
        x: number;
        y: number;
    };
    selectedCell: HTMLTableCellElement | null;
    isHeaderRow: boolean;
    canMerge: {
        up: boolean;
        down: boolean;
        left: boolean;
        right: boolean;
    };
    canSplit: {
        horizontal: boolean;
        vertical: boolean;
    };
}
/**
 * Table operation types
 */
export type TableOperation = {
    type: 'INSERT_COLUMN';
    colIndex: number;
    position: 'before' | 'after';
} | {
    type: 'DELETE_COLUMN';
    colIndex: number;
} | {
    type: 'INSERT_ROW';
    rowIndex: number;
    position: 'before' | 'after';
} | {
    type: 'DELETE_ROW';
    rowIndex: number;
} | {
    type: 'TOGGLE_HEADER';
} | {
    type: 'MERGE_CELLS';
    direction: 'up' | 'down' | 'left' | 'right';
} | {
    type: 'SPLIT_CELL';
    direction: 'horizontal' | 'vertical';
} | {
    type: 'APPLY_CELL_PROPERTIES';
    properties: CellProperties;
};
