import type { TSchema, ObjectSchema, TObject } from 'jsonv-ts';
type Simplify<T> = {
    [KeyType in keyof T]: T[KeyType];
} & {};
type RecursiveSchemaify<T> = T extends TSchema ? T : T extends Record<string, any> ? TObject<{
    [K in keyof T]: RecursiveSchemaify<T[K]>;
}, {
    additionalProperties: false;
}> : never;
type SchemaifyProperties<T> = {
    [K in keyof T]: RecursiveSchemaify<T[K]>;
};
export declare const dynObject: <DynP extends Record<string, unknown>, const O extends ObjectSchema, P = SchemaifyProperties<DynP>>(properties: DynP, options?: O) => TObject<Simplify<P>, O>;
export {};
