import { BaseController } from "@metamask/base-controller";
import type { NetworkClientId } from "@metamask/network-controller";
import { MULTICHAIN_NETWORK_CONTROLLER_NAME, type MultichainNetworkControllerState, type MultichainNetworkControllerMessenger, type SupportedCaipChainId } from "./types.mjs";
/**
 * The MultichainNetworkController is responsible for fetching and caching account
 * balances.
 */
export declare class MultichainNetworkController extends BaseController<typeof MULTICHAIN_NETWORK_CONTROLLER_NAME, MultichainNetworkControllerState, MultichainNetworkControllerMessenger> {
    #private;
    constructor({ messenger, state, }: {
        messenger: MultichainNetworkControllerMessenger;
        state?: Omit<Partial<MultichainNetworkControllerState>, 'multichainNetworkConfigurationsByChainId'>;
    });
    /**
     * Sets the active network.
     *
     * @param id - The non-EVM Caip chain ID or EVM client ID of the network to set active.
     * @returns - A promise that resolves when the network is set active.
     */
    setActiveNetwork(id: SupportedCaipChainId | NetworkClientId): Promise<void>;
}
//# sourceMappingURL=MultichainNetworkController.d.mts.map