import { ChainwebInProcessConfig } from '../type.js';
import { NetworksConfig } from 'hardhat/types';
import { Chain } from './chain.js';
interface INetworkOptions {
    chainweb: ChainwebInProcessConfig;
    networks: NetworksConfig;
    chainwebName: string;
    overrideForking?: {
        url: string;
        blockNumber?: number;
    };
}
export declare class ChainwebNetwork {
    private config;
    private logger;
    chains: Record<number, Chain>;
    graph: Record<number, number[]>;
    constructor(config: INetworkOptions);
    getProvider(cid: number): import("hardhat/types").EthereumProvider;
    start(): Promise<void>;
    stop(): Promise<void>;
    getSpvProof(trgChain: number, origin: Omit<Origin, 'originContractAddress'>): Promise<string>;
}
export interface Origin {
    chain: bigint;
    originContractAddress: string;
    height: bigint;
    txIdx: bigint;
    eventIdx: bigint;
}
export {};
//# sourceMappingURL=chainweb.d.ts.map