import type { StandardSchemaV1 } from '@standard-schema/spec'; import { type DeepReadonly } from './utils'; export declare const domainType: (modelSchema: ModelSchema) => (abstract new (model: StandardSchemaV1.InferInput) => DeepReadonly extends object ? StandardSchemaV1.InferOutput : { value: StandardSchemaV1.InferOutput; }>) & { schema: ModelSchema; }; export declare const recursiveDomainType: (modelSchema: (isCurrentType: (target: unknown) => boolean) => ModelSchema) => (abstract new (model: StandardSchemaV1.InferInput) => DeepReadonly extends object ? StandardSchemaV1.InferOutput : { value: StandardSchemaV1.InferOutput; }>) & { schema: ModelSchema; };