import { type TSchema, type TSchemaOptions } from '../../types/schema.mjs'; import { type TCyclic } from '../../types/cyclic.mjs'; import { type TDependent } from '../../types/dependent.mjs'; import { type TIntersect } from '../../types/intersect.mjs'; import { type TProperties } from '../../types/properties.mjs'; import { type TUnion } from '../../types/union.mjs'; import { type TState, type TInstantiateType, type TCanInstantiate } from '../instantiate.mjs'; import { type TIndexDeferred } from '../../action/indexed.mjs'; import { type TCollapseToObject } from '../object/index.mjs'; import { type TFromType } from './from_type.mjs'; type TNormalizeType : Type extends TDependent ? TCollapseToObject : Type extends TIntersect ? TCollapseToObject : Type extends TUnion ? TCollapseToObject : Type)> = Result; export type TIndexAction extends true ? TFromType, Indexer> : TIndexDeferred> = Result; export declare function IndexAction(type: Type, indexer: Indexer, options: TSchemaOptions): TIndexAction; export type TIndexInstantiate, InstantiatedIndexer extends TSchema = TInstantiateType> = TIndexAction; export declare function IndexInstantiate(context: Context, state: State, type: Type, indexer: Indexer, options: TSchemaOptions): TIndexInstantiate; export {};