import { Memory } from '../../../system/memory/index.mjs'; import { type TSchemaOptions } from '../../types/schema.mjs'; import { type TProperties } from '../../types/properties.mjs'; import { type TState } from '../instantiate.mjs'; import { type TCyclicCandidates } from '../cyclic/candidates.mjs'; import { type TInstantiateCyclic } from '../cyclic/instantiate.mjs'; import { type TInstantiateType } from '../instantiate.mjs'; type TInstantiateCyclics, Result extends TProperties = { [Key in Extract]: TInstantiateCyclic; }> = Result; type TInstantiateNonCyclics, Result extends TProperties = { [Key in Exclude]: TInstantiateType, Declarations[Key]>; }> = Result; type TInstantiateModule, InstantiatedCyclics extends TProperties = TInstantiateCyclics, InstantiatedNonCyclics extends TProperties = TInstantiateNonCyclics, InstantiatedModule extends TProperties = InstantiatedCyclics & InstantiatedNonCyclics> = { [Key in keyof InstantiatedModule]: InstantiatedModule[Key]; } & {}; export type TModuleInstantiate> = InstantiatedModule; export declare function ModuleInstantiate(context: Context, _state: State, declarations: Declarations, options: TSchemaOptions): TModuleInstantiate; export {};