import { type RollupCommit, AbstractRollup } from '../rollup.js';
import type { HexString, HexString32, ProofSequence, ProviderPair } from '../types.js';
import { Contract } from 'ethers/contract';
import { LineaProver } from './LineaProver.js';
import type { LineaConfig } from './LineaRollup.js';
export type UnfinalizedLineaCommit = RollupCommit<LineaProver> & {
    readonly abiEncodedTuple: HexString;
    readonly parentShnarf: HexString32;
};
export declare class UnfinalizedLineaRollup extends AbstractRollup<UnfinalizedLineaCommit> {
    readonly minAgeBlocks: number;
    readonly L1MessageService: Contract;
    constructor(providers: ProviderPair, config: LineaConfig, minAgeBlocks: number);
    get unfinalized(): boolean;
    fetchLatestCommitIndex(): Promise<bigint>;
    protected _fetchParentCommitIndex(commit: UnfinalizedLineaCommit): Promise<bigint>;
    protected _fetchCommit(index: bigint): Promise<UnfinalizedLineaCommit>;
    encodeWitness(commit: UnfinalizedLineaCommit, proofSeq: ProofSequence): HexString;
    windowFromSec(sec: number): number;
}
//# sourceMappingURL=UnfinalizedLineaRollup.d.ts.map