import { CompiledGlobalVariableDefinition, GlobalVariableDefinition } from "./declarations/variable/GlobalVariableDefinition"; import { AnalyticConstruct } from "../../analysis/predicates"; import { Simulation } from "../runtime/Simulation"; import { ProgramContext, SemanticContext } from "../compilation/contexts"; import { CPPConstruct, SuccessfullyCompiled, RuntimeConstruct } from "./CPPConstruct"; export declare class GlobalObjectAllocator extends CPPConstruct { readonly construct_type = "GlobalObjectAllocator"; readonly parent?: undefined; readonly globalObjects: readonly GlobalVariableDefinition[]; constructor(context: ProgramContext, globalObjects: readonly GlobalVariableDefinition[]); protected onAttach(parent: this["parent"]): void; createRuntimeConstruct(this: CompiledGlobalObjectAllocator, sim: Simulation): RuntimeGlobalObjectAllocator; isSemanticallyEquivalent_impl(other: AnalyticConstruct, equivalenceContext: SemanticContext): boolean; } export interface CompiledGlobalObjectAllocator extends GlobalObjectAllocator, SuccessfullyCompiled { readonly globalObjects: readonly CompiledGlobalVariableDefinition[]; } export declare class RuntimeGlobalObjectAllocator extends RuntimeConstruct { private index; constructor(model: CompiledGlobalObjectAllocator, sim: Simulation); protected upNextImpl(): void; stepForwardImpl(): boolean; }