import type { HexString, BigNumberish, ProofSequence, ProofSequenceV1, HexString32 } from '../types.js';
import { AbstractRollup, type RollupCommit, type RollupWitnessV1 } from '../rollup.js';
import { EthProver } from '../eth/EthProver.js';
export declare function hashOutputRootProof(commit: AbstractOPCommit): HexString32;
export type AbstractOPCommit = RollupCommit<EthProver> & {
    readonly blockHash: HexString;
    readonly stateRoot: HexString;
    readonly passerRoot: HexString;
};
export declare abstract class AbstractOPRollup<C extends AbstractOPCommit> extends AbstractRollup<C> implements RollupWitnessV1<C> {
    L2ToL1MessagePasser: string;
    createCommit(index: bigint, block: BigNumberish): Promise<AbstractOPCommit>;
    encodeWitness(commit: C, proofSeq: ProofSequence): any;
    encodeWitnessV1(commit: C, proofSeq: ProofSequenceV1): any;
}
//# sourceMappingURL=AbstractOPRollup.d.ts.map