import { providers } from 'ethers';
import { Signer } from 'ethers';
import { Curation } from '@graphprotocol/contracts/dist/types/Curation';
import { DisputeManager } from '@graphprotocol/contracts/dist/types/DisputeManager';
import { EpochManager } from '@graphprotocol/contracts/dist/types/EpochManager';
import { GNS } from '@graphprotocol/contracts/dist/types/GNS';
import { RewardsManager } from '@graphprotocol/contracts/dist/types/RewardsManager';
import { ServiceRegistry } from '@graphprotocol/contracts/dist/types/ServiceRegistry';
import { Staking } from '@graphprotocol/contracts/dist/types/Staking';
import { GraphToken } from '@graphprotocol/contracts/dist/types/GraphToken';
import { Controller } from '@graphprotocol/contracts/dist/types/Controller';
export interface NetworkContracts {
    curation: Curation;
    disputeManager: DisputeManager;
    epochManager: EpochManager;
    gns: GNS;
    rewardsManager: RewardsManager;
    serviceRegistry: ServiceRegistry;
    staking: Staking;
    token: GraphToken;
    controller: Controller;
}
export declare const connectContracts: (providerOrSigner: providers.Provider | Signer, chainId: number) => Promise<NetworkContracts>;
