import type { EthAddress } from '@ariestools/sdk'; import type { EvmEventIndexHead, EvmEventIndexPublishRunner } from '@xyo-network/xl1-protocol/protocol-lib'; import { z } from 'zod'; import { AbstractS3Provider } from './AbstractS3Provider.ts'; /** Default number of finalized EVM blocks represented by one immutable index frame. */ export declare const DEFAULT_EVM_EVENT_INDEX_FRAME_SIZE = 100000; /** EVM log-query and framing options for the finalized event index (`config.options`). */ export declare const S3EvmEventIndexPublishRunnerOptionsZod: z.ZodObject<{ eventQueryBlockChunkSize: z.ZodOptional>; eventQueryInitialDelayMs: z.ZodDefault>; eventQueryMaxAttempts: z.ZodDefault>; frameSize: z.ZodDefault>; }, z.core.$strip>; /** EVM log-query and framing options for the finalized event index. */ export type S3EvmEventIndexPublishRunnerOptions = z.infer; /** Publishes a contract-generic, finalized EVM log index to S3-compatible storage. */ export declare class S3EvmEventIndexPublishRunner extends AbstractS3Provider implements EvmEventIndexPublishRunner { /** Connection kinds supported by this provider. */ static readonly connectionTypes: readonly ["s3"]; /** Primary moniker used to resolve this provider. */ static readonly defaultMoniker: "EvmEventIndexPublishRunner"; /** Provider monikers that must resolve before this provider can be created. */ static readonly dependencies: "EvmChainViewer"[]; /** Provider monikers implemented by this provider class. */ static readonly monikers: "EvmEventIndexPublishRunner"[]; /** Read, write, or mixed capability surface exposed by the provider. */ static readonly surface: "node"; /** Moniker implemented by this provider instance. */ moniker: "EvmEventIndexPublishRunner"; private _options?; private adaptiveChunkSize?; private source?; /** Contract address indexed by this publisher — `config.chain.id`. */ get address(): EthAddress; /** Configured deployment block from `config.chain.deploymentBlock`, when declared. */ get configuredDeploymentBlock(): number | undefined; /** Current EVM log-query block range after fixed configuration or adaptive reduction. */ get eventQueryBlockChunkSize(): number; /** Initial retry delay applied to rate-limited EVM requests, in milliseconds. */ get eventQueryInitialDelayMs(): number; /** Maximum attempts made for each rate-limited EVM request. */ get eventQueryMaxAttempts(): number; /** Fixed eth_getLogs range from the provider options; undefined enables adaptive sizing. */ get fixedEventQueryBlockChunkSize(): number | undefined; /** Number of finalized EVM blocks represented by each immutable index frame. */ get frameSize(): number; /** Options parsed once from the materialized provider options. */ private get options(); /** Creates the provider instance after its dependencies and configuration have resolved. */ createHandler(): Promise; /** Publishes finalized events through the configured mutation provider. */ publishFinalizedEvents(): Promise; private assertHeadCompatible; private assertManifestCompatible; private createManifest; private parseFrame; private publishFrames; private queryLogs; /** * Recovers the partial frame committed by the published head. Tail/frame objects are * written before the mutable head, so an interrupted pass may leave data ahead of that * commit point. Rebuild from the head and re-query the uncommitted range on the next pass. */ private readFrameThroughHead; private readHead; private readManifest; private resolveDeploymentBlock; private toIndexedLog; private trimFrameThrough; } //# sourceMappingURL=S3EvmEventIndexPublishRunner.d.ts.map