UNPKG

typir

Version:

General purpose type checking library

31 lines 2.26 kB
/****************************************************************************** * Copyright 2025 TypeFox GmbH * This program and the accompanying materials are made available under the * terms of the MIT License, which is available in the project root. ******************************************************************************/ import { TypeGraphListener } from '../../graph/type-graph.js'; import { Type, TypeStateListener } from '../../graph/type-node.js'; import { TypeInitializer } from '../../initialization/type-initializer.js'; import { TypirSpecifics } from '../../typir.js'; import { InferenceRuleWithOptions, ValidationRuleWithOptions } from '../../utils/utils-definitions.js'; import { CustomTypeProperties } from './custom-definitions.js'; import { CreateCustomTypeDetails, CustomKind } from './custom-kind.js'; import { CustomType } from './custom-type.js'; export declare class CustomTypeInitializer<Properties extends CustomTypeProperties, Specifics extends TypirSpecifics> extends TypeInitializer<CustomType<Properties, Specifics>, Specifics> implements TypeStateListener, TypeGraphListener { protected readonly kind: CustomKind<Properties, Specifics>; protected readonly typeDetails: CreateCustomTypeDetails<Properties, Specifics>; protected readonly initialCustomType: CustomType<Properties, Specifics>; protected inferenceRules: Array<InferenceRuleWithOptions<Specifics>>; protected validationRules: Array<ValidationRuleWithOptions<Specifics>>; constructor(kind: CustomKind<Properties, Specifics>, typeDetails: CreateCustomTypeDetails<Properties, Specifics>); getTypeInitial(): CustomType<Properties, Specifics>; onSwitchedToIdentifiable(customType: Type): void; onSwitchedToCompleted(_customType: Type): void; onSwitchedToInvalid(_customType: Type): void; protected handleEdgeRelationshipsOfNewType(): void; onAddedType(newOtherType: Type, _key: string): void; protected createRules(customType: CustomType<Properties, Specifics>): void; protected registerRules(customType: CustomType<Properties, Specifics> | undefined): void; protected deregisterRules(customType: CustomType<Properties, Specifics> | undefined): void; } //# sourceMappingURL=custom-initializer.d.ts.map