import { Observable } from 'rxjs';
import { NetworkConfig } from '.';
import { ObjectSubject, Service } from '../common';
import { NetworkNames } from './constants';
import { Network } from './interfaces';
export declare class NetworkService extends Service {
    readonly network$: ObjectSubject<Network, keyof Network>;
    readonly chainId$: Observable<number>;
    readonly defaultNetwork: Network;
    readonly supportedNetworks: Network[];
    readonly externalContractAddresses: Map<string, {
        [key: number]: string;
    }>;
    constructor(defaultChainId?: number);
    get network(): Network;
    get chainId(): number;
    useDefaultNetwork(): void;
    switchNetwork(networkName: NetworkNames): void;
    isNetworkSupported(chainId: number): boolean;
    getNetworkConfig(chainId: number): NetworkConfig;
}
