import { type RollupCommit, type RollupWitnessV1, AbstractRollup } from '../rollup.js';
import type { HexAddress, HexString, ProviderPair, ProofSequence, ProofSequenceV1 } from '../types.js';
import { Contract } from 'ethers/contract';
import { EthProver } from '../eth/EthProver.js';
export type ScrollConfig = {
    ScrollChain: HexAddress;
    poseidon: HexAddress;
};
export type ScrollCommit = RollupCommit<EthProver> & {
    readonly l1BlockNumber: number;
};
export declare class ScrollRollup extends AbstractRollup<ScrollCommit> implements RollupWitnessV1<ScrollCommit> {
    readonly ScrollChain: Contract;
    readonly poseidon: HexAddress;
    constructor(providers: ProviderPair, config: ScrollConfig);
    fetchLatestCommitIndex(): Promise<bigint>;
    protected _fetchParentCommitIndex(commit: ScrollCommit): Promise<bigint>;
    protected _fetchCommit(index: bigint): Promise<ScrollCommit>;
    encodeWitness(commit: ScrollCommit, proofSeq: ProofSequence): HexString;
    encodeWitnessV1(commit: ScrollCommit, proofSeq: ProofSequenceV1): HexString;
    windowFromSec(sec: number): number;
}
//# sourceMappingURL=ScrollRollup.d.ts.map