import { Memory } from '../../../system/memory/index.mjs'; import { type TSchema } from '../../types/schema.mjs'; import { type TProperties } from '../../types/properties.mjs'; import { type TObject } from '../../types/object.mjs'; import { type TToIndexableKeys } from '../indexable/to_indexable_keys.mjs'; import { type TToIndexable } from '../indexable/to_indexable.mjs'; type TComparable = (keyof Indexable extends string | number ? `${keyof Indexable}` : never); type TFromKeys = (Keys extends [infer Left extends string, ...infer Right extends string[]] ? Left extends TComparable ? TFromKeys> : TFromKeys : Result); export type TFromType, Keys extends string[] = TToIndexableKeys, Applied extends TProperties = TFromKeys, Result extends TSchema = TObject> = Result; export declare function FromType(type: Type, indexer: Indexer): TFromType; export {};