import { TransferTransaction } from "@dhealth/sdk"; import { ConfigService } from "@nestjs/config"; import { Model } from "mongoose"; import { LogService } from "../../common/services/LogService"; import { NetworkService } from "../../common/services/NetworkService"; import { QueryService } from "../../common/services/QueryService"; import { StateService } from "../../common/services/StateService"; import { AssetsService } from "../../discovery/services/AssetsService"; import { ActivitiesService } from "../../users/services/ActivitiesService"; import { Subjectable } from "../concerns/Subjectable"; import { PayoutCommand, PayoutCommandOptions } from "./PayoutCommand"; import { PayoutBroadcastStateData } from "../models/PayoutBroadcastStateData"; import { PayoutDocument } from "../models/PayoutSchema"; import { PayoutsService } from "../services/PayoutsService"; import { SignerService } from "../services/SignerService"; export interface BroadcastPayoutsCommandOptions extends PayoutCommandOptions { maxCount: number; } export declare abstract class BroadcastPayouts = Model> extends PayoutCommand { protected readonly configService: ConfigService; protected readonly stateService: StateService; protected readonly queryService: QueryService; protected readonly payoutsService: PayoutsService; protected readonly signerService: SignerService; protected readonly networkService: NetworkService; protected readonly activitiesService: ActivitiesService; protected readonly logService: LogService; protected readonly assetsService: AssetsService; protected transactions: Record; protected transactionHashes: string[]; private lastExecutedAt; protected globalDryRun: boolean; protected enableBatches: boolean; protected batchSize: number; constructor(configService: ConfigService, stateService: StateService, queryService: QueryService, payoutsService: PayoutsService, signerService: SignerService, networkService: NetworkService, activitiesService: ActivitiesService, logService: LogService, assetsService: AssetsService); protected getStateData(): PayoutBroadcastStateData; protected abstract get collection(): string; protected abstract countSubjects(): Promise; protected abstract fetchSubjects(count: number): Promise; execute(options?: BroadcastPayoutsCommandOptions): Promise; }