export default class Schema {
    version: string;
    key: string;
    properties: {
        [key: string]: null | Schema;
    } | string[] | null;
    constructor({ version, key, properties }?: {
        version?: string;
        key?: string;
        properties?: {
            [key: string]: null | Schema;
        } | string[] | null;
    });
    loadPropertiesOrApplySchema(node: any, parents?: any[], accumulator?: any): {
        [key: string]: any;
    };
    savePropertiesOrApplySchema(node: any, parents?: object[], accumulator?: any): {
        [key: string]: any;
    };
    _getPropertyValueFromSchema(operation: any, node: any, parents: object[] | undefined, accumulator: any): {
        [x: string]: any;
    };
    _isCurrentVersion(): boolean;
    outdatedVersionError(): void;
    _save(...args: any[]): {
        [key: string]: any;
    };
    save(node: any, parents?: object[], accumulator?: any): {
        [key: string]: any;
    };
    _load(...args: any[]): {
        [key: string]: any;
    };
    load(node: any, parents?: object[], accumulator?: any): {
        [key: string]: any;
    };
}
