import { SubDocument } from '../../../common/model/sub-document';
import { Table } from '../../../common/model/tables/main-structures/table';
import { IProcessor } from '../../../common/processor';
import { TableRowCollection } from '../collections/table/table-row-collection';
import { IntervalApi } from '../interval';
import { TableCellApi } from './table-cell';
import { TableContentHorizontalAlignmentApi, TableContentVerticalAlignmentApi } from './enums';
import { ITableBorders, TableBordersApi } from './table-borders';
import { IMargins, MarginsApi } from '../size';
import { TableCellPosition, TableWidth } from './types';
import { TableStyleOptionsApi } from './table-style-options';
import { TableElementBase } from './table-element-base';
export declare class TableApi extends TableElementBase {
    private _table;
    constructor(processor: IProcessor, subDocument: SubDocument, table: Table);
    get index(): number;
    get interval(): IntervalApi;
    delete(): void;
    get rows(): TableRowCollection;
    get parentCell(): TableCellApi | null;
    get autoFit(): boolean;
    set autoFit(value: boolean);
    get width(): TableWidth;
    set width(value: TableWidth);
    get styleName(): string;
    set styleName(value: string);
    get tableStyleOptions(): TableStyleOptionsApi;
    set tableStyleOptions(value: TableStyleOptionsApi);
    private _calculateTableLook;
    get backgroundColor(): string;
    set backgroundColor(value: string);
    get contentHorizontalAlignment(): TableContentHorizontalAlignmentApi | null;
    set contentHorizontalAlignment(value: TableContentHorizontalAlignmentApi);
    get contentVerticalAlignment(): TableContentVerticalAlignmentApi | null;
    set contentVerticalAlignment(value: TableContentVerticalAlignmentApi);
    get borders(): TableBordersApi;
    set borders(value: ITableBorders);
    get cellMargins(): MarginsApi;
    set cellMargins(value: IMargins);
    mergeCells(startPosition: TableCellPosition, endPosition: TableCellPosition): void;
    private _validatePosition;
}
