///
import { ValidatePatternRules, ValidateArrayRules } from '@formily/validator';
import { FormPathPattern } from '@formily/shared';
import { SchemaMessage, ISchema } from '../types';
declare type SchemaProperties = {
[key: string]: T;
};
export declare class Schema implements ISchema {
title?: SchemaMessage;
description?: SchemaMessage;
default?: any;
readOnly?: boolean;
writeOnly?: boolean;
type?: ISchema['type'];
enum?: ISchema['enum'];
const?: any;
multipleOf?: number;
maximum?: number;
exclusiveMaximum?: number;
minimum?: number;
exclusiveMinimum?: number;
maxLength?: number;
minLength?: number;
pattern?: string | RegExp;
maxItems?: number;
minItems?: number;
uniqueItems?: boolean;
maxProperties?: number;
minProperties?: number;
required?: string[] | boolean;
format?: string;
properties?: SchemaProperties;
items?: Schema | Schema[];
additionalItems?: Schema;
patternProperties?: {
[key: string]: Schema;
};
additionalProperties?: Schema;
editable?: boolean;
visible?: boolean;
display?: boolean;
triggerType?: 'onBlur' | 'onChange';
['x-props']?: {
[name: string]: any;
};
['x-index']?: number;
['x-rules']?: ValidatePatternRules;
['x-component']?: string;
['x-component-props']?: ISchema['x-component-props'];
['x-render']?: ISchema['x-render'];
['x-effect']?: ISchema['x-effect'];
['x-linkages']?: ISchema['x-linkages'];
['x-mega-props']?: ISchema['x-mega-props'];
parent?: Schema;
_isJSONSchemaObject: boolean;
key?: string;
path?: string;
version: string;
constructor(json: ISchema, parent?: Schema, key?: string);
get(path?: FormPathPattern): Schema;
merge(spec: any): this;
getEmptyValue(): {};
getSelfProps(): Pick>;
getExtendsRules(): ValidateArrayRules;
getExtendsRequired(): boolean;
getExtendsEditable(): boolean;
getExtendsVisible(): boolean;
getExtendsDisplay(): boolean;
getMegaLayoutProps(): any;
getExtendsTriggerType(): any;
getExtendsItemProps(): any;
getExtendsComponent(): string;
getExtendsRenderer(): (props: T & {
renderComponent: () => import("react").ReactElement import("react").ReactElement) | (new (props: any) => import("react").Component)>;
}) => import("react").ReactElement import("react").ReactElement) | (new (props: any) => import("react").Component)>;
getExtendsEffect(): (dispatch: (type: string, payload: any) => void, option?: object) => {
[key: string]: any;
};
getExtendsProps(): {
[name: string]: any;
};
getExtendsComponentProps(): {
[x: string]: any;
};
getExtendsLinkages(): {
[key: string]: any;
target: FormPathPattern;
type: string;
}[];
setProperty(key: string, schema: ISchema): Schema;
setProperties(properties: SchemaProperties): SchemaProperties;
setArrayItems(schema: ISchema): Schema;
toJSON(): ISchema;
fromJSON(json?: ISchema): this;
isObject(): boolean;
isArray(): boolean;
mapProperties(callback?: (schema: Schema, key: string) => any): any[];
getOrderProperties(): any[];
unrelease_getOrderPatternProperties(): any[];
unrelease_mapPatternProperties(callback?: (schema: Schema, key: string) => any): any[];
static getOrderProperties: (schema?: ISchema, propertiesName?: string) => any[];
}
export {};