import { EthProver } from '../eth/EthProver.js';
import { type RollupCommit, AbstractRollup } from '../rollup.js';
import type { HexAddress, HexString, ProofSequence, ProviderPair } from '../types.js';
import { Interface } from 'ethers/abi';
import { Contract } from 'ethers/contract';
export type ArbitrumConfig = {
    Rollup: HexAddress;
    isBoLD: boolean;
};
export type ArbitrumCommit = RollupCommit<EthProver> & {
    readonly encodedRollupProof: HexString;
};
export declare abstract class AbstractArbitrumRollup<C extends ArbitrumCommit> extends AbstractRollup<C> {
    readonly isBoLD: boolean;
    minAgeBlocks: number;
    readonly Rollup: Contract;
    protected constructor(providers: ProviderPair, isBoLD: boolean, config: ArbitrumConfig, abi: Interface, minAgeBlocks: number);
    get unfinalized(): boolean;
    encodeWitness(commit: ArbitrumCommit, proofSeq: ProofSequence): HexString;
    windowFromSec(sec: number): number;
}
//# sourceMappingURL=ArbitrumRollup.d.ts.map