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[]; }