import type { Promisable } from '@ariestools/sdk'; import type { AccountInstance, Payload, QueryBoundWitness, Schema, WithoutPrivateStorageMeta } from '@xyo-network/sdk-protocol'; import type { ArchivistConfig, ArchivistInstance, ArchivistModuleEventData, ArchivistParams } from '../archivist-model/index.js'; import { AbstractModuleInstance } from '../module-abstract/index.js'; import type { AnyConfigSchema, ModuleConfig, ModuleQueryHandlerResult, ModuleQueryResult } from '../module-model/index.js'; import type { CustomWitnessInstance, WitnessInstance, WitnessModuleEventData, WitnessParams } from '../witness-model/index.js'; export declare abstract class AbstractWitness, TIn, TOut> = WitnessModuleEventData, TIn, TOut>> extends AbstractModuleInstance implements CustomWitnessInstance { static readonly configSchemas: Schema[]; static readonly defaultConfigSchema: Schema; private _archivistInstance; get queries(): Schema[]; getArchivistInstance(): Promise>, ArchivistModuleEventData, Payload> | undefined>; /** @function observe The main entry point for a witness. Do not override this function. Implement/override observeHandler for custom functionality */ observe(inPayloads?: TIn[]): Promise<(WithoutPrivateStorageMeta)[]>; observeQuery(payloads?: TIn[], account?: AccountInstance): Promise>; /** @function queryHandler Calls observe for an observe query. Override to support additional queries. */ protected queryHandler(query: T, payloads?: Payload[], queryConfig?: TConfig): Promise; /** @function observeHandler Implement or override to add custom functionality to a witness */ protected abstract observeHandler(payloads?: TIn[]): Promisable; } //# sourceMappingURL=AbstractWitness.d.ts.map