import { SemanticContext, TranslationUnitContext } from "../../../compilation/contexts"; import { VariableEntity } from "../../../compilation/entities"; import { AnalyticConstruct } from "../../../../analysis/predicates"; import { CompleteObjectType, ReferenceType } from "../../../compilation/types"; import { Expression } from "../../expressions/Expression"; import { Initializer } from "../../initializers/Initializer"; import { SimpleDeclaration } from "../SimpleDeclaration"; export declare type VariableDefinitionType = CompleteObjectType | ReferenceType; export declare abstract class VariableDefinitionBase extends SimpleDeclaration { readonly initializer?: Initializer; abstract readonly type: VariableDefinitionType; abstract readonly declaredEntity: VariableEntity; private setInitializer; protected initializerWasSet(init: Initializer): void; setDefaultInitializer(): this; setDirectInitializer(args: readonly Expression[]): this; setCopyInitializer(args: readonly Expression[]): this; setInitializerList(args: readonly Expression[]): this | undefined; isSemanticallyEquivalent_impl(other: AnalyticConstruct, equivalenceContext: SemanticContext): boolean; entitiesUsed(): VariableEntity[]; }