import { BaseDataDefinition } from "./BaseDataDefinition";
import { IDataDefinition } from "./IDataDefinition";
import { IDataDefinitionOwner } from "../IDataDefinitionOwner";
import { XDataType } from "../XDataType";
import { ValidationIssue } from "../../IDesignValidationProvider";
export declare class ObjectDataDefinition extends BaseDataDefinition<object> implements IDataDefinitionOwner {
    readonly type: XDataType;
    keyField?: string;
    fields: IDataDefinition[];
    getValueObject(): {
        [propertyName: string]: any;
    };
    static parseObject(owner: IDataDefinitionOwner, checkVal: object, data: object, isList: boolean, name: string, currentDefinition: IDataDefinition, removeItemsNotInSchema: boolean, reorderElementsToMatch: boolean): IDataDefinition | null;
    static parseFieldsForObject(owner: IDataDefinitionOwner, data: object, existingFields: IDataDefinition[], removeItemsNotInSchema: boolean, reorderElementsToMatch: boolean): IDataDefinition[];
    getValue(): object | undefined;
    setValue(value: object): void;
    getListValue(): object[] | undefined;
    setListValue(value: object[]): void;
    getStorageData(): object;
    setStorageData(data: object): void;
    convert(value: any): any;
    verifyValueType(value: any): ValidationIssue | undefined;
}
