import type { BaseMongoSdkConfig } from '@ariestools/storage-adapters/mongo'; import { BaseMongoSdk } from '@ariestools/storage-adapters/mongo'; import type { JobQueue, MongoDBModuleParamsV2 } from '@xyo-network/module-model-mongodb'; import { MongoDBStorageClassLabels } from '@xyo-network/module-model-mongodb'; import type { PayloadWithMongoMeta } from '@xyo-network/payload-mongodb'; import type { AnyAbstractModule } from './AnyAbstractModule.ts'; export declare const MongoDBModuleMixinV2: = AnyAbstractModule>(ModuleBase: TModule) => ((abstract new (...args: any[]) => { _payloadSdk: BaseMongoSdk | undefined; get jobQueue(): JobQueue; get payloadSdkConfig(): BaseMongoSdkConfig; get payloads(): BaseMongoSdk; /** * Ensures any indexes specified within the config are created. This method should be idempotent * allowing for multiple calls without causing errors while ensuring the desired state. */ ensureCollection(): Promise; address: import("@xyo-network/sdk-protocol").XyoAddress; config: TParams["config"]; id: string; modName?: import("@xyo-network/sdk/module-model").ModuleName; params: TParams; previousHash: () => import("@ariestools/sdk").Promisable; queries: string[]; query: (query: T, payloads?: import("@xyo-network/sdk-protocol").Payload[], queryConfig?: TConf) => import("@ariestools/sdk").Promisable; queryable: (query: T, payloads?: import("@xyo-network/sdk-protocol").Payload[], queryConfig?: TConf_1) => import("@ariestools/sdk").Promisable; eventData: import("@xyo-network/sdk/module-model").ModuleEventData; name: import("@ariestools/sdk").CreatableName; start: () => Promise; stop: () => Promise; clearListeners(eventNames: keyof import("@xyo-network/sdk/module-model").ModuleEventData | (keyof import("@xyo-network/sdk/module-model").ModuleEventData)[]): void; emit>(eventName: TEventName, eventArgs: import("@xyo-network/sdk/module-model").ModuleEventData[TEventName]): Promise; emitSerial>(eventName: TEventName, eventArgs: import("@xyo-network/sdk/module-model").ModuleEventData[TEventName]): Promise; listenerCount(eventNames: keyof import("@xyo-network/sdk/module-model").ModuleEventData | (keyof import("@xyo-network/sdk/module-model").ModuleEventData)[]): number; off>(eventNames: TEventName | TEventName[], listener: import("@ariestools/sdk").EventListener[TEventName]>): void; offAny(listener: import("@ariestools/sdk").EventAnyListener | Promise): void; on>(eventNames: TEventName | TEventName[], listener: import("@ariestools/sdk").EventListener[TEventName]>): import("@ariestools/sdk").EventUnsubscribeFunction; onAny(listener: import("@ariestools/sdk").EventAnyListener): import("@ariestools/sdk").EventUnsubscribeFunction; once>(eventName: TEventName, listener: import("@ariestools/sdk").EventListener[TEventName]>): import("@ariestools/sdk").EventUnsubscribeFunction; }) & { readonly labels: MongoDBStorageClassLabels; }) & TModule; //# sourceMappingURL=ModuleV2.d.ts.map