import type { Promisable, RetryConfig, RetryConfigWithComplete } from '@ariestools/sdk'; import type { AccountInstance, Payload, QueryBoundWitness, Schema } from '@xyo-network/sdk-protocol'; import type { AttachableDivinerInstance, DivinerDivineResult, DivinerInstance, DivinerModuleEventData, DivinerParams } from '../diviner-model/index.js'; import { AbstractModuleInstance } from '../module-abstract/index.js'; import { type ModuleConfig, type ModuleQueryHandlerResult, type ModuleQueryResult } from '../module-model/index.js'; export declare abstract class AbstractDiviner, TIn, TOut> = DivinerModuleEventData, TIn, TOut>> extends AbstractModuleInstance implements AttachableDivinerInstance { static readonly configSchemas: Schema[]; static readonly defaultConfigSchema: Schema; static readonly targetSchema: Schema; private _eventUnsubscribeFunctions; get queries(): Schema[]; /** @function divine The main entry point for a diviner. Do not override this function. Implement/override divineHandler for custom functionality */ divine(payloads?: TIn[], retryConfigIn?: RetryConfigWithComplete): Promise[]>; divineQuery(payloads?: TIn[], account?: AccountInstance, _retry?: RetryConfig): Promise>; /** @function queryHandler Calls divine for a divine query. Override to support additional queries. */ protected queryHandler(query: T, payloads?: Payload[], queryConfig?: TConfig): Promise; protected startHandler(): Promise; protected stopHandler(): Promise; /** @function divineHandler Implement or override to add custom functionality to a diviner */ protected abstract divineHandler(payloads?: TIn[]): Promisable; } //# sourceMappingURL=AbstractDiviner.d.ts.map