import { Address, PublicClient } from 'viem'; import { KeyEpochs, OperationKeyQuery, OperationKeyReader, RawOperationKeys, RawPayoutScripts } from './types'; /** Addresses of the three registries an operation-key resolution spans. */ export interface OperationKeyContracts { btcVaultRegistry: Address; applicationRegistry: Address; protocolParams: Address; } /** * Reads RFC-006 operation keys and payout scripts. * * Usage: * ```ts * const reader = new ViemOperationKeyReader(publicClient, contracts); * const keys = await reader.getCurrentOperationKeys(query); * ``` */ export declare class ViemOperationKeyReader implements OperationKeyReader { private publicClient; private contracts; constructor(publicClient: PublicClient, contracts: OperationKeyContracts); /** * One multicall, `allowFailure: false`, so every key in the set is read at * the same block. A rotation landing between two separate `eth_call`s would * otherwise produce a mixed-epoch key set and a lock no counterparty agrees * with. */ private readAll; getCurrentOperationKeys(query: OperationKeyQuery): Promise; getOperationKeysAtEpochs(query: OperationKeyQuery, epochs: KeyEpochs): Promise; getPayoutScriptsAtEpochs(query: OperationKeyQuery, epochs: KeyEpochs): Promise; } //# sourceMappingURL=operation-key-reader.d.ts.map