import type { Attributes, Gauge, Meter } from '@opentelemetry/api'; import type { Hash, Promisable, PromisableArray } from '@xylabs/sdk-js'; import type { ArchivistInstance, ArchivistModuleEventData, ArchivistNextOptions, ArchivistParams, ArchivistSnapshotPayload, ArchivistStatsPayload, AttachableArchivistInstance, ReadArchivist } from '@xyo-network/archivist-model'; import { AbstractModuleInstance } from '@xyo-network/module-abstract'; import type { ModuleConfig, ModuleIdentifier, ModuleQueryHandlerResult, ModuleQueryResult } from '@xyo-network/module-model'; import type { AccountInstance, BoundWitness, Payload, QueryBoundWitness, Schema, WithStorageMeta } from '@xyo-network/sdk-protocol-js'; import { QueryBoundWitnessWrapper } from '@xyo-network/sdk-protocol-js'; export interface ActionConfig { emitEvents?: boolean; } export interface InsertConfig extends ActionConfig { writeToParents?: boolean; } interface ArchivistParentInstanceMap { commit?: Partial>; read?: Partial>; write?: Partial>; } export declare abstract class AbstractArchivist extends AbstractModuleInstance implements AttachableArchivistInstance { static readonly configSchemas: Schema[]; static readonly defaultConfigSchema: Schema; static readonly labels: { 'network.xyo.storage.class': string; }; static readonly uniqueName: string; protected static defaultNextLimitSetting: number; private _getCache?; private _parentArchivists?; private _payloadCountGauge?; private _payloadCountMeter?; static get defaultNextLimit(): number; get queries(): Schema[]; get requireAllParents(): boolean; protected get payloadCountGauge(): Gauge | null | undefined; protected get payloadCountMeter(): Meter | null; protected get storeParentReads(): boolean; /** @deprecated use next or snapshot instead */ all(): Promise[]>; /** deprecated use nextQuery or snapshotQuery instead */ allQuery(account: AccountInstance): Promise; clear(): Promise; clearQuery(account: AccountInstance): Promise; commit(): Promise; commitQuery(account: AccountInstance): Promise; delete(hashes: Hash[]): Promise[]>; deleteQuery(hashes: Hash[], account?: AccountInstance): Promise; get(hashes: Hash[]): Promise[]>; getQuery(hashes: Hash[], account?: AccountInstance): Promise; insert(payloads: Payload[]): Promise[]>; insertQuery(payloads: Payload[], account?: AccountInstance): Promise; next(options?: ArchivistNextOptions): Promise[]>; nextQuery(options?: ArchivistNextOptions, account?: AccountInstance): Promise; snapshot(): Promise, Hash>[]>; snapshotQuery(account?: AccountInstance): Promise; protected allHandler(): PromisableArray>; protected clearHandler(): Promisable; protected commitHandler(): Promisable; protected deleteHandler(_hashes: Hash[]): PromisableArray>; protected deleteWithConfig(hashes: Hash[], config?: ActionConfig): Promise[]>; protected generateStats(): Promisable; protected getFromParent(hashes: Hash[], archivist: ReadArchivist): Promise<[WithStorageMeta[], Hash[]]>; protected getFromParents(hashes: Hash[]): Promise<[WithStorageMeta[], Hash[]]>; protected getHandler(_hashes: Hash[]): Promisable[]>; protected getWithConfig(hashes: Hash[], _config?: InsertConfig): Promise[]>; protected insertHandler(_payloads: WithStorageMeta[]): Promisable[]>; protected insertQueryHandler(query: T, payloads?: Payload[]): Promise[]>; protected insertWithConfig(payloads: Payload[], config?: InsertConfig): Promise[]>; protected nextHandler(_options?: ArchivistNextOptions): Promisable[]>; protected nextWithConfig(options?: ArchivistNextOptions, _config?: InsertConfig): Promise[]>; protected parentArchivists(): Promise; protected payloadCountHandler(): number; protected queryHandler(query: T, payloads: Payload[], queryConfig?: TConfig): Promise; protected reportPayloadCount(): void; protected snapshotHandler(): PromisableArray, Hash>>; protected startHandler(): Promise; protected stateHandler(): Promise; protected writeToParent(parent: ArchivistInstance, payloads: Payload[]): Promise; protected writeToParents(payloads: Payload[]): Promise; private omitClientMetaForDataHashes; private resolveArchivists; } export {}; //# sourceMappingURL=AbstractArchivist.d.ts.map