import { Address, ProviderRpcClient } from "everscale-inpage-provider";
import { ConnectionProperties } from "everscale-standalone-client/nodejs";
import { ForkCacheService } from "./index";
import { AccountFetcherResponse } from "@broxus/locklift-network/src/types";
export interface SourceFetcher {
    getBocAndCodeHash(params: {
        address: Address;
    }): Promise<AccountFetcherResponse>;
}
export declare class LiveFetcher implements SourceFetcher {
    private readonly provider;
    constructor(provider: ProviderRpcClient);
    static init: (connectionConfig: ConnectionProperties) => Promise<LiveFetcher>;
    private _getBocAndCodeHash;
    getBocAndCodeHash(params: {
        address: Address;
    }): Promise<AccountFetcherResponse>;
}
export declare class BlockFetcher implements SourceFetcher {
    private readonly cacheService;
    private readonly blockNumber;
    constructor(cacheService: ForkCacheService, blockNumber: number);
    private _getBocAndCodeHash;
    getBocAndCodeHash(params: {
        address: Address;
    }): Promise<AccountFetcherResponse>;
}
