import Type from './Type'; import Validation, { IdentifierPath } from '../Validation'; import { TypeConstraint } from '../typeConstraints'; import RuntimeTypeErrorItem from '../errorReporting/RuntimeTypeErrorItem'; export default class TypeAlias extends Type { typeName: string; readonly name: string; readonly type: Type; readonly constraints: TypeConstraint[]; constructor(name: string, type: Type); resolveType(): Type; addConstraint(...constraints: TypeConstraint[]): this; get hasConstraints(): boolean; errors(validation: Validation, path: IdentifierPath, input: any): Iterable; accepts(input: any): input is T; get acceptsSomeCompositeTypes(): boolean; toString(): string; }