import { type TProperties } from '../../types/properties.mjs'; import { type TSchema } from '../../types/schema.mjs'; import { type TNumber } from '../../types/number.mjs'; import { type TNever } from '../../types/never.mjs'; import { type TPropertyKeys } from '../../types/properties.mjs'; import { type TEvaluateUnion } from '../evaluate/evaluate.mjs'; import { type TToIndexableKeys } from '../indexable/to_indexable_keys.mjs'; import { type TExpandThis } from '../this/expand_this.mjs'; type TIndexProperty> = Result; type TIndexProperties = (Keys extends [infer Left extends string, ...infer Right extends string[]] ? TIndexProperties]> : Result); type TFromIndexer, Variants extends TSchema[] = TIndexProperties, Result extends TSchema = TEvaluateUnion> = Result; type TNumericKeys = (Keys extends [infer Left extends string, ...infer Right extends string[]] ? Left extends `${infer _ extends number}` ? TNumericKeys : TNumericKeys : Result); type TFromIndexerNumber, NumericKeys extends string[] = TNumericKeys, Variants extends TSchema[] = TIndexProperties, Result extends TSchema = TEvaluateUnion> = Result; export type TFromObject : TFromIndexer> = Result; export declare function FromObject(properties: Properties, indexer: Indexer): TFromObject; export {};