import Validation from '../Validation'; import { IdentifierPath } from '../Validation'; import RuntimeTypeErrorItem from '../errorReporting/RuntimeTypeErrorItem'; export declare function assertIsType(x: unknown, name: string): void; /** * # Type * * This is the base class for all types. */ export default abstract class Type { readonly __type: T; typeName: string; resolveType(): Type; abstract errors(validation: Validation, path: IdentifierPath, input: any): Iterable; abstract accepts(input: any): input is T; get acceptsSomeCompositeTypes(): boolean; assert(input: any, prefix?: string, path?: IdentifierPath): T; validate(input: any, prefix?: string, path?: IdentifierPath): Validation; abstract toString(options?: { formatForMustBe?: boolean; }): string; }