import type { BlockTag } from "ethers";
import type { EthCallOverride } from "./types.js";
import { AddressAsIf } from "./addressAsIf.js";
export declare class LedgerState {
    static from(blockTag: BlockTag): LedgerState;
    static original: LedgerState;
    private readonly _blockTag;
    private readonly _asIfs;
    constructor(blockTag: BlockTag | undefined);
    asif(asIf: AddressAsIf): LedgerState;
    getStateAsync(): Promise<[BlockTag, EthCallOverride]>;
    blockTag(): BlockTag;
    getDiffAsync(): Promise<EthCallOverride>;
}
