import { ISimpleType, IType, Type } from './Type'; import { TypeFlags } from './type-flags'; import { IContext, IValidationResult } from './type-checker'; import { ObjectNode } from '../core/ObjectNode'; import { INode } from '../core/interface'; export declare class CoreType extends Type { readonly shouldAttachNode: boolean; readonly checker: (value: any) => boolean; readonly flags: TypeFlags; readonly initializer: (v: any) => any; constructor(name: any, flags: TypeFlags, checker: any, initializer?: (v: any) => any); describe(): string; instantiate(parent: ObjectNode | null, subpath: string, environment: any, snapshot: T): INode; isValidSnapshot(value: any, context: IContext): IValidationResult; } export declare function string(): ISimpleType; export declare function number(): ISimpleType; export declare function boolean(): ISimpleType; export declare function nullType(): ISimpleType; export declare function nilType(): ISimpleType; export declare function undefinedType(): ISimpleType; export declare function DatePrimitive(): IType; export declare function getPrimitiveFactoryFromValue(value: any): ISimpleType;