import type { HexAddress, HexString, ProofRef, ProofSequence, Provider } from './types.js';
import { BlockProver, type TargetNeed } from './vm.js';
import { AbstractRollup, type RollupCommit } from './rollup.js';
export declare class UncheckedProver extends BlockProver {
    static readonly latest: (provider: Provider, relBlockTag?: BigNumberish) => Promise<UncheckedProver>;
    isContract(target: HexAddress): Promise<boolean>;
    getStorage(target: HexAddress, slot: bigint): Promise<HexString>;
    protected _proveNeed(need: TargetNeed, accountRef: ProofRef, slotRefs: Map<bigint, ProofRef>): Promise<void>;
}
export type UncheckedCommit = RollupCommit<UncheckedProver> & {
    readonly t: bigint;
};
export declare class UncheckedRollup extends AbstractRollup<UncheckedCommit> {
    readonly commitStep: number;
    constructor(provider2: Provider, commitStep?: number);
    get unfinalized(): boolean;
    fetchLatestCommitIndex(): Promise<bigint>;
    protected _fetchParentCommitIndex(commit: UncheckedCommit): Promise<bigint>;
    findVisibleBlock(t: bigint): Promise<import("./eth/types.js").RPCEthGetBlock>;
    protected _fetchCommit(index: bigint): Promise<UncheckedCommit>;
    encodeWitness(commit: UncheckedCommit, proofSeq: ProofSequence): HexString;
    windowFromSec(sec: number): number;
}
//# sourceMappingURL=UncheckedRollup.d.ts.map