import { Account, AnyZodOrCoValueSchema, CoDiscriminatedUnionSchema, CoFeed, CoList, CoMap, CoPlainText, CoRichText, CoVector, CoValueClass, CoreAccountSchema, CoreCoRecordSchema, CoreCoVectorSchema, FileStream, Group, CoreSnapshotRefSchema, SnapshotRef, } from "../../../internal.js"; import { CoreGroupSchema } from "../schemaTypes/GroupSchema.js"; import { CoreCoFeedSchema } from "../schemaTypes/CoFeedSchema.js"; import { CoreCoListSchema } from "../schemaTypes/CoListSchema.js"; import { CoreCoMapSchema } from "../schemaTypes/CoMapSchema.js"; import { CoreCoOptionalSchema } from "../schemaTypes/CoOptionalSchema.js"; import { CoreCoValueSchema } from "../schemaTypes/CoValueSchema.js"; import { CoreFileStreamSchema } from "../schemaTypes/FileStreamSchema.js"; import { CorePlainTextSchema } from "../schemaTypes/PlainTextSchema.js"; import { CoreRichTextSchema } from "../schemaTypes/RichTextSchema.js"; import { z } from "../zodReExport.js"; import { InstanceOrPrimitiveOfSchema } from "./InstanceOrPrimitiveOfSchema.js"; /** * A loaded CoValue whose references are also loaded. */ export type InstanceOfSchema = S extends CoreCoValueSchema ? S extends CoreAccountSchema ? { readonly [key in keyof Shape]: InstanceOrPrimitiveOfSchema< Shape[key] >; } & Account : S extends CoreGroupSchema ? Group : S extends CoreCoRecordSchema ? { readonly [key in z.output & string]: InstanceOrPrimitiveOfSchema; } & CoMap : S extends CoreCoMapSchema ? { readonly [key in keyof Shape]: InstanceOrPrimitiveOfSchema< Shape[key] >; } & (CatchAll extends AnyZodOrCoValueSchema ? { readonly [ key: string ]: InstanceOrPrimitiveOfSchema; } : {}) & CoMap : S extends CoreCoListSchema ? CoList> : S extends CoreCoFeedSchema ? CoFeed> : S extends CorePlainTextSchema ? CoPlainText : S extends CoreRichTextSchema ? CoRichText : S extends CoreFileStreamSchema ? FileStream : S extends CoreCoVectorSchema ? Readonly : S extends CoreSnapshotRefSchema ? SnapshotRef> : S extends CoreCoOptionalSchema ? InstanceOrPrimitiveOfSchema | undefined : S extends CoDiscriminatedUnionSchema< infer Members > ? InstanceOrPrimitiveOfSchema : never : S extends CoValueClass ? InstanceType : never;