import { AcDDTableField } from "./ac-dd-table-field";
import { AcDDTableProperty } from "./ac-dd-table-property";
export declare class AcDDTable {
    static readonly keyTableFields = "table_fields";
    static readonly keyTableName = "table_name";
    static readonly keyTableProperties = "table_properties";
    get primaryKeyField(): AcDDTableField | undefined;
    get primaryKeyFields(): AcDDTableField[];
    get foreignKeyFields(): AcDDTableField[];
    tableName: string;
    tableFields: {
        [key: string]: AcDDTableField;
    };
    tableProperties: {
        [key: string]: AcDDTableProperty;
    };
    static fromJson(jsonData: {
        [key: string]: any;
    }): AcDDTable;
    static getInstance({ tableName, dataDictionaryName }: {
        tableName: string;
        dataDictionaryName?: string;
    }): AcDDTable;
    setValuesFromJson(jsonData?: {
        [key: string]: any;
    }): void;
    toJson(): {
        [key: string]: any;
    };
    toString(): string;
}
