UNPKG

@ceramicnetwork/stream-model

Version:
31 lines 1.77 kB
import { LoadOpts, Stream, StreamReader, StreamWriter } from '@ceramicnetwork/common'; import { CommitID, StreamID } from '@ceramicnetwork/streamid'; import { ModelDefinition, type ModelMetadata } from './codecs.js'; export declare type LoadingInterfaceImplements = Record<string, Promise<Array<string>>>; export declare function loadInterfaceImplements(reader: StreamReader, modelID: string): Promise<Array<string>>; export declare function loadAllModelInterfaces(reader: StreamReader, interfaces: Array<string>, loading?: LoadingInterfaceImplements): Promise<Array<string>>; export declare const MODEL_VERSION_REGEXP: RegExp; export declare function parseModelVersion(version: string): [number, number]; export interface ModelMetadataArgs { controller: string; } export declare type ValidVersionSatisfies = 'major' | 'minor'; export declare class Model extends Stream { static STREAM_TYPE_NAME: string; static STREAM_TYPE_ID: number; static readonly MODEL: StreamID; static readonly VERSION = "2.0"; private _isReadOnly; get content(): ModelDefinition; get metadata(): ModelMetadata; static create(ceramic: StreamWriter, content: ModelDefinition, metadata?: ModelMetadataArgs): Promise<Model>; static assertComplete(content: ModelDefinition, _streamId?: StreamID | CommitID | string): void; static assertVersionValid(content: ModelDefinition, satisfies?: ValidVersionSatisfies): void; static assertRelationsValid(content: ModelDefinition): void; static load(ceramic: StreamReader, streamId: StreamID | CommitID | string, opts?: LoadOpts): Promise<Model>; private static _makeGenesis; private static _makeRawGenesis; makeReadOnly(): void; get isReadOnly(): boolean; } //# sourceMappingURL=model.d.ts.map