import type { NetworkStakeRewardsIndexHead } from '@xyo-network/xl1-protocol/network-model'; import type { BlockViewer, EvmEventIndexHead, IndexWatermark, NetworkStakeRewardsIndexPublishRunner, StakeViewer } from '@xyo-network/xl1-protocol/protocol-lib'; import { z } from 'zod'; import { AbstractS3Provider } from './AbstractS3Provider.ts'; /** S3 rewards-index publisher options. */ export declare const S3NetworkStakeRewardsIndexPublishRunnerOptionsZod: z.ZodObject<{ policyId: z.ZodDefault; stepConcurrency: z.ZodDefault>; timeAnchor: z.ZodOptional>; maxScanBlocks: z.ZodOptional>; }, z.core.$strip>>; }, z.core.$strip>; /** S3 rewards-index publisher options. */ export type S3NetworkStakeRewardsIndexPublishRunnerOptions = z.infer; /** * Single-writer publisher for durable network-stake reward allocations. The * mutable head advances last and records both the XL1 index watermark and EVM * event-index watermark used to build its immutable steps and snapshot. */ export declare class S3NetworkStakeRewardsIndexPublishRunner extends AbstractS3Provider implements NetworkStakeRewardsIndexPublishRunner { static readonly connectionTypes: readonly ["s3"]; static readonly defaultMoniker: "NetworkStakeRewardsIndexPublishRunner"; static readonly dependencies: ("BlockViewer" | "StakeViewer")[]; static readonly monikers: "NetworkStakeRewardsIndexPublishRunner"[]; static readonly surface: "node"; moniker: "NetworkStakeRewardsIndexPublishRunner"; protected _blockViewer: BlockViewer; protected _stakeViewer: StakeViewer; private _options?; private get options(); private get policyId(); private get timeAnchor(); /** Creates the publisher after its XL1 and stake dependencies resolve. */ createHandler(): Promise; /** Publishes rewards through the safe intersection of the supplied durable watermarks. */ publishRewardsIndex(xl1Head: IndexWatermark, evmHead: EvmEventIndexHead): Promise; private advanceRewards; private assertHeadCompatible; private assertManifestCompatible; private createManifest; private isCurrent; private loadPositions; private positionTotals; private processedThroughBlock; private publishManifestIfMissing; private publishSnapshot; private readHead; private readManifest; private readSnapshot; private resolvePublishableSteps; private resolveStepRecord; } //# sourceMappingURL=S3NetworkStakeRewardsIndexPublishRunner.d.ts.map