import type { AccountInstance, ModuleError, ModuleManifestPayload, Payload, QueryBoundWitness, Schema, XyoAddress, XyoQuantAddress } from '@xyo-network/sdk-protocol'; import type { ArchivistInstance } from '../../archivist-model/index.js'; import type { QuerySendFinishedEventArgs, QuerySendStartedEventArgs } from '../../bridge-model/index.js'; import { AbstractModuleInstance } from '../../module-abstract/index.js'; import type { AddressPreviousHashPayload, AnyConfigSchema, ArchivingModuleConfig, AttachableModuleInstance, ModuleConfig, ModuleEventData, ModuleInstance, ModuleName, ModuleQueryHandlerResult, ModuleQueryResult, ModuleResolver, QueryableModule, QueryableModuleParams } from '../../module-model/index.js'; export interface ModuleProxyParams extends QueryableModuleParams { account: AccountInstance; archiving?: ArchivingModuleConfig['archiving'] & { resolveArchivists: () => Promise; }; host: ModuleResolver; manifest?: ModuleManifestPayload; moduleAddress: XyoAddress; onQuerySendFinished?: (args: Omit) => void; onQuerySendStarted?: (args: Omit) => void; state?: Payload[]; } export declare abstract class AbstractModuleProxy extends AbstractModuleInstance implements ModuleInstance { static readonly requiredQueries: string[]; protected _config?: TWrappedModule['config']; protected _publicChildren?: ModuleInstance[]; protected _state: Payload[] | undefined; protected _stateInProcess: boolean; private _spamTrap; get address(): (Lowercase & { readonly __hex: true; } & { readonly __address: true; }) | XyoQuantAddress; get archiving(): ArchivingModuleConfig['archiving'] | undefined; get config(): TWrappedModule['config'] & { schema: Schema; }; get queries(): Schema[]; static hasRequiredQueries(mod: QueryableModule): boolean; static isAllowedSchema(schema: Schema): boolean; static missingRequiredQueries(mod: QueryableModule): string[]; static paramsHandler>(inParams?: Partial): Promise; addressPreviousHash(): Promise; childAddressByName(name: ModuleName): XyoAddress | undefined; childAddressMap(): Promise>; createHandler(): Promise; manifest(maxDepth?: number): Promise; moduleAddress(): Promise; previousHash(): Promise; publicChildren(): Promise>, ModuleEventData>[]>; query(query: T, payloads?: Payload[]): Promise; queryHandler(_query: T, _payloads?: Payload[], _queryConfig?: TWrappedModule['params']['config']): Promise; queryable(_query: T, _payloads?: Payload[], _queryConfig?: TWrappedModule['params']['config']): Promise; resolveArchivingArchivists(): Promise; setConfig(config: TWrappedModule['params']['config']): void; setState(state: Payload[]): void; state(): Promise; protected filterErrors(result: ModuleQueryResult): ModuleError[]; protected startHandler(): Promise; private checkSpam; abstract proxyQueryHandler(_query: T, _payloads?: Payload[]): Promise; } //# sourceMappingURL=AbstractModuleProxy.d.ts.map