@ceramicnetwork/stream-model
Version:
Ceramic Model stream type
353 lines • 25.6 kB
TypeScript
import { Type, type TypeOf } from 'codeco';
import type { JSONSchema } from 'json-schema-typed/draft-2020-12';
export type { JSONSchema } from 'json-schema-typed/draft-2020-12';
export declare type SchemaType = JSONSchema.Boolean | JSONSchema.Integer | JSONSchema.Number | JSONSchema.String | JSONSchema.Array | JSONSchema.Object;
export declare function createSchemaType<T extends SchemaType>(type: T['type'], name: string): Type<T>;
export declare const ObjectSchema: Type<JSONSchema.Object<any>, JSONSchema.Object<any>, unknown>;
export declare type ObjectSchema = TypeOf<typeof ObjectSchema>;
export declare const optionalModelString: import("codeco").UnionCodec<[import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>, import("codeco").TrivialCodec<null>]>;
export declare const ModelMetadata: import("codeco").ExactCodec<import("codeco").TypeCodec<{
controller: import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string & import("ts-essentials").WithOpaque<"DIDString">>;
model: Type<import("streamid/lib").StreamID, Uint8Array, Uint8Array>;
}>>;
export declare type ModelMetadata = TypeOf<typeof ModelMetadata>;
export declare const ModelAccountRelation: import("codeco").UnionCodec<[import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"list">;
}>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"single">;
}>>]>;
export declare type ModelAccountRelation = TypeOf<typeof ModelAccountRelation>;
export declare const ModelAccountRelationV2: import("codeco").UnionCodec<[import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"list">;
}>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"single">;
}>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"none">;
}>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"set">;
fields: import("codeco").Codec<string[], string[], unknown> & {
item: import("codeco").TrivialCodec<string>;
};
}>>]>;
export declare type ModelAccountRelationV2 = TypeOf<typeof ModelAccountRelationV2>;
export declare const ModelRelationDefinition: import("codeco").UnionCodec<[import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"account">;
}>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"document">;
model: import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>;
}>>]>;
export declare type ModelRelationDefinition = TypeOf<typeof ModelRelationDefinition>;
export declare const ModelRelationDefinitionV2: import("codeco").UnionCodec<[import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"account">;
}>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"document">;
model: import("codeco").UnionCodec<[import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>, import("codeco").TrivialCodec<null>]>;
}>>]>;
export declare type ModelRelationDefinitionV2 = TypeOf<typeof ModelRelationDefinitionV2>;
export declare const ModelRelationsDefinition: import("codeco").NonEnumerableRecordCodec<import("codeco").TrivialCodec<string>, import("codeco").UnionCodec<[import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"account">;
}>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"document">;
model: import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>;
}>>]>>;
export declare type ModelRelationsDefinition = TypeOf<typeof ModelRelationsDefinition>;
export declare const ModelRelationsDefinitionV2: import("codeco").NonEnumerableRecordCodec<import("codeco").TrivialCodec<string>, import("codeco").UnionCodec<[import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"account">;
}>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"document">;
model: import("codeco").UnionCodec<[import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>, import("codeco").TrivialCodec<null>]>;
}>>]>>;
export declare type ModelRelationsDefinitionV2 = TypeOf<typeof ModelRelationsDefinitionV2>;
export declare const ModelDocumentMetadataViewDefinition: import("codeco").UnionCodec<[import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"documentAccount">;
}>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"documentVersion">;
}>>]>;
export declare type ModelDocumentMetadataViewDefinition = TypeOf<typeof ModelDocumentMetadataViewDefinition>;
export declare const ModelRelationViewDefinition: import("codeco").UnionCodec<[import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"relationDocument">;
model: import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>;
property: import("codeco").TrivialCodec<string>;
}>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"relationFrom">;
model: import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>;
property: import("codeco").TrivialCodec<string>;
}>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"relationCountFrom">;
model: import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>;
property: import("codeco").TrivialCodec<string>;
}>>]>;
export declare type ModelRelationViewDefinition = TypeOf<typeof ModelRelationViewDefinition>;
export declare const ModelRelationViewDefinitionV2: import("codeco").UnionCodec<[import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"relationDocument">;
model: import("codeco").UnionCodec<[import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>, import("codeco").TrivialCodec<null>]>;
property: import("codeco").TrivialCodec<string>;
}>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"relationFrom">;
model: import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>;
property: import("codeco").TrivialCodec<string>;
}>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"relationCountFrom">;
model: import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>;
property: import("codeco").TrivialCodec<string>;
}>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"relationSetFrom">;
model: import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>;
property: import("codeco").TrivialCodec<string>;
}>>]>;
export declare type ModelRelationViewDefinitionV2 = TypeOf<typeof ModelRelationViewDefinitionV2>;
export declare const ModelViewDefinition: import("codeco").UnionCodec<[import("codeco").UnionCodec<[import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"documentAccount">;
}>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"documentVersion">;
}>>]>, import("codeco").UnionCodec<[import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"relationDocument">;
model: import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>;
property: import("codeco").TrivialCodec<string>;
}>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"relationFrom">;
model: import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>;
property: import("codeco").TrivialCodec<string>;
}>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"relationCountFrom">;
model: import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>;
property: import("codeco").TrivialCodec<string>;
}>>]>]>;
export declare type ModelViewDefinition = TypeOf<typeof ModelViewDefinition>;
export declare const ModelViewDefinitionV2: import("codeco").UnionCodec<[import("codeco").UnionCodec<[import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"documentAccount">;
}>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"documentVersion">;
}>>]>, import("codeco").UnionCodec<[import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"relationDocument">;
model: import("codeco").UnionCodec<[import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>, import("codeco").TrivialCodec<null>]>;
property: import("codeco").TrivialCodec<string>;
}>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"relationFrom">;
model: import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>;
property: import("codeco").TrivialCodec<string>;
}>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"relationCountFrom">;
model: import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>;
property: import("codeco").TrivialCodec<string>;
}>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"relationSetFrom">;
model: import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>;
property: import("codeco").TrivialCodec<string>;
}>>]>]>;
export declare type ModelViewDefinitionV2 = TypeOf<typeof ModelViewDefinitionV2>;
export declare const ModelViewsDefinition: import("codeco").NonEnumerableRecordCodec<import("codeco").TrivialCodec<string>, import("codeco").UnionCodec<[import("codeco").UnionCodec<[import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"documentAccount">;
}>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"documentVersion">;
}>>]>, import("codeco").UnionCodec<[import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"relationDocument">;
model: import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>;
property: import("codeco").TrivialCodec<string>;
}>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"relationFrom">;
model: import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>;
property: import("codeco").TrivialCodec<string>;
}>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"relationCountFrom">;
model: import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>;
property: import("codeco").TrivialCodec<string>;
}>>]>]>>;
export declare type ModelViewsDefinition = TypeOf<typeof ModelViewsDefinition>;
export declare const ModelViewsDefinitionV2: import("codeco").NonEnumerableRecordCodec<import("codeco").TrivialCodec<string>, import("codeco").UnionCodec<[import("codeco").UnionCodec<[import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"documentAccount">;
}>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"documentVersion">;
}>>]>, import("codeco").UnionCodec<[import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"relationDocument">;
model: import("codeco").UnionCodec<[import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>, import("codeco").TrivialCodec<null>]>;
property: import("codeco").TrivialCodec<string>;
}>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"relationFrom">;
model: import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>;
property: import("codeco").TrivialCodec<string>;
}>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"relationCountFrom">;
model: import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>;
property: import("codeco").TrivialCodec<string>;
}>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"relationSetFrom">;
model: import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>;
property: import("codeco").TrivialCodec<string>;
}>>]>]>>;
export declare type ModelViewsDefinitionV2 = TypeOf<typeof ModelViewsDefinitionV2>;
export declare const ModelDefinitionV1: import("codeco").SparseCodec<{
version: import("codeco").LiteralCodec<"1.0">;
name: import("codeco").TrivialCodec<string>;
description: import("codeco").OptionalCodec<import("codeco").TrivialCodec<string>>;
schema: Type<JSONSchema.Object<any>, JSONSchema.Object<any>, unknown>;
accountRelation: import("codeco").UnionCodec<[import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"list">;
}>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"single">;
}>>]>;
relations: import("codeco").OptionalCodec<import("codeco").NonEnumerableRecordCodec<import("codeco").TrivialCodec<string>, import("codeco").UnionCodec<[import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"account">;
}>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"document">;
model: import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>;
}>>]>>>;
views: import("codeco").OptionalCodec<import("codeco").NonEnumerableRecordCodec<import("codeco").TrivialCodec<string>, import("codeco").UnionCodec<[import("codeco").UnionCodec<[import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"documentAccount">;
}>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"documentVersion">;
}>>]>, import("codeco").UnionCodec<[import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"relationDocument">;
model: import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>;
property: import("codeco").TrivialCodec<string>;
}>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"relationFrom">;
model: import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>;
property: import("codeco").TrivialCodec<string>;
}>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"relationCountFrom">;
model: import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>;
property: import("codeco").TrivialCodec<string>;
}>>]>]>>>;
}>;
export declare type ModelDefinitionV1 = TypeOf<typeof ModelDefinitionV1>;
export declare const ModelDefinitionV2: import("codeco").SparseCodec<{
version: import("codeco").LiteralCodec<"2.0">;
name: import("codeco").TrivialCodec<string>;
description: import("codeco").OptionalCodec<import("codeco").TrivialCodec<string>>;
interface: import("codeco").TrivialCodec<boolean>;
implements: import("codeco").Codec<string[], string[], unknown> & {
item: import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>;
};
schema: Type<JSONSchema.Object<any>, JSONSchema.Object<any>, unknown>;
immutableFields: import("codeco").OptionalCodec<import("codeco").Codec<string[], string[], unknown> & {
item: import("codeco").TrivialCodec<string>;
}>;
accountRelation: import("codeco").UnionCodec<[import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"list">;
}>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"single">;
}>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"none">;
}>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"set">;
fields: import("codeco").Codec<string[], string[], unknown> & {
item: import("codeco").TrivialCodec<string>;
};
}>>]>;
relations: import("codeco").OptionalCodec<import("codeco").NonEnumerableRecordCodec<import("codeco").TrivialCodec<string>, import("codeco").UnionCodec<[import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"account">;
}>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"document">;
model: import("codeco").UnionCodec<[import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>, import("codeco").TrivialCodec<null>]>;
}>>]>>>;
views: import("codeco").OptionalCodec<import("codeco").NonEnumerableRecordCodec<import("codeco").TrivialCodec<string>, import("codeco").UnionCodec<[import("codeco").UnionCodec<[import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"documentAccount">;
}>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"documentVersion">;
}>>]>, import("codeco").UnionCodec<[import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"relationDocument">;
model: import("codeco").UnionCodec<[import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>, import("codeco").TrivialCodec<null>]>;
property: import("codeco").TrivialCodec<string>;
}>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"relationFrom">;
model: import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>;
property: import("codeco").TrivialCodec<string>;
}>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"relationCountFrom">;
model: import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>;
property: import("codeco").TrivialCodec<string>;
}>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"relationSetFrom">;
model: import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>;
property: import("codeco").TrivialCodec<string>;
}>>]>]>>>;
}>;
export declare type ModelDefinitionV2 = TypeOf<typeof ModelDefinitionV2>;
export declare const ModelDefinition: import("codeco").UnionCodec<[import("codeco").SparseCodec<{
version: import("codeco").LiteralCodec<"1.0">;
name: import("codeco").TrivialCodec<string>;
description: import("codeco").OptionalCodec<import("codeco").TrivialCodec<string>>;
schema: Type<JSONSchema.Object<any>, JSONSchema.Object<any>, unknown>;
accountRelation: import("codeco").UnionCodec<[import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"list">;
}>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"single">;
}>>]>;
relations: import("codeco").OptionalCodec<import("codeco").NonEnumerableRecordCodec<import("codeco").TrivialCodec<string>, import("codeco").UnionCodec<[import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"account">;
}>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"document">;
model: import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>;
}>>]>>>;
views: import("codeco").OptionalCodec<import("codeco").NonEnumerableRecordCodec<import("codeco").TrivialCodec<string>, import("codeco").UnionCodec<[import("codeco").UnionCodec<[import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"documentAccount">;
}>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"documentVersion">;
}>>]>, import("codeco").UnionCodec<[import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"relationDocument">;
model: import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>;
property: import("codeco").TrivialCodec<string>;
}>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"relationFrom">;
model: import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>;
property: import("codeco").TrivialCodec<string>;
}>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"relationCountFrom">;
model: import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>;
property: import("codeco").TrivialCodec<string>;
}>>]>]>>>;
}>, import("codeco").SparseCodec<{
version: import("codeco").LiteralCodec<"2.0">;
name: import("codeco").TrivialCodec<string>;
description: import("codeco").OptionalCodec<import("codeco").TrivialCodec<string>>;
interface: import("codeco").TrivialCodec<boolean>;
implements: import("codeco").Codec<string[], string[], unknown> & {
item: import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>;
};
schema: Type<JSONSchema.Object<any>, JSONSchema.Object<any>, unknown>;
immutableFields: import("codeco").OptionalCodec<import("codeco").Codec<string[], string[], unknown> & {
item: import("codeco").TrivialCodec<string>;
}>;
accountRelation: import("codeco").UnionCodec<[import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"list">;
}>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"single">;
}>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"none">;
}>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"set">;
fields: import("codeco").Codec<string[], string[], unknown> & {
item: import("codeco").TrivialCodec<string>;
};
}>>]>;
relations: import("codeco").OptionalCodec<import("codeco").NonEnumerableRecordCodec<import("codeco").TrivialCodec<string>, import("codeco").UnionCodec<[import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"account">;
}>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"document">;
model: import("codeco").UnionCodec<[import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>, import("codeco").TrivialCodec<null>]>;
}>>]>>>;
views: import("codeco").OptionalCodec<import("codeco").NonEnumerableRecordCodec<import("codeco").TrivialCodec<string>, import("codeco").UnionCodec<[import("codeco").UnionCodec<[import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"documentAccount">;
}>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"documentVersion">;
}>>]>, import("codeco").UnionCodec<[import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"relationDocument">;
model: import("codeco").UnionCodec<[import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>, import("codeco").TrivialCodec<null>]>;
property: import("codeco").TrivialCodec<string>;
}>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"relationFrom">;
model: import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>;
property: import("codeco").TrivialCodec<string>;
}>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"relationCountFrom">;
model: import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>;
property: import("codeco").TrivialCodec<string>;
}>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
type: import("codeco").LiteralCodec<"relationSetFrom">;
model: import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>;
property: import("codeco").TrivialCodec<string>;
}>>]>]>>>;
}>]>;
export declare type ModelDefinition = TypeOf<typeof ModelDefinition>;
//# sourceMappingURL=codecs.d.ts.map