import { TableOptionsInterface, P_CREATE_TABLE_OPTIONS, O_CREATE_TABLE_OPTION } from '../../../../typings';
import { TableOptionsModelInterface } from './typings';
/**
 * Class to represent table options as parsed from SQL.
 */
export declare class TableOptions implements TableOptionsModelInterface {
    autoincrement?: number;
    avgRowLength?: number;
    charset?: string;
    checksum?: number;
    collation?: string;
    comment?: string;
    compression?: string;
    connection?: string;
    dataDirectory?: string;
    indexDirectory?: string;
    delayKeyWrite?: number;
    encryption?: string;
    encryptionKeyId?: number;
    ietfQuotes?: string;
    engine?: string;
    insertMethod?: string;
    keyBlockSize?: number;
    maxRows?: number;
    minRows?: number;
    packKeys?: string | number;
    pageChecksum?: number;
    password?: string;
    rowFormat?: string;
    statsAutoRecalc?: string | number;
    statsPersistent?: string | number;
    statsSamplePages?: string | number;
    transactional?: number;
    withSystemVersioning?: boolean;
    tablespaceName?: string;
    tablespaceStorage?: string;
    union?: string[];
    /**
     * Creates table options from a JSON def.
     *
     * @param json JSON format parsed from SQL.
     */
    static fromDef(json: P_CREATE_TABLE_OPTIONS): TableOptions;
    /**
     * Creates table options instance from an array of options.
     *
     * @param options JSON format parsed from SQL.
     */
    static fromArray(options: O_CREATE_TABLE_OPTION[]): TableOptions;
    /**
     * JSON casting of this object calls this method.
     *
     */
    toJSON(): TableOptionsInterface;
    /**
     * Create a deep clone of this model.
     */
    clone(): TableOptions;
    /**
     * Merge this option instance with another one.
     * Common properties of this instance are overwritten.
     */
    mergeWith(options: TableOptionsInterface): void;
}
