import Type from './Type'; import Validation, { IdentifierPath } from '../Validation'; import RuntimeTypeErrorItem from '../errorReporting/RuntimeTypeErrorItem'; export declare type Constructor = (new (...args: any[]) => T) | (abstract new (...args: any[]) => T); export declare type ClassTypeOption = () => Constructor; export default class InstanceOfType extends Type { typeName: string; private _classType; get classType(): Constructor; constructor(classType: ClassTypeOption); errors(validation: Validation, path: IdentifierPath, input: any): Iterable; accepts(input: any): input is T; get acceptsSomeCompositeTypes(): boolean; toString(options?: { formatForMustBe?: boolean; }): string; }