import { ApiPromise } from "@polkadot/api";
import { AddressOrPair } from "@polkadot/api/types";
import { ProviderInterface } from "@polkadot/rpc-provider/types";
import { TypeRegistry } from "@polkadot/types";
import { RegistryTypes } from "@polkadot/types/types";
import { DefinitionRpc, DefinitionRpcSub } from "@polkadot/types/types";
import { InterBtcApi } from "./interbtc-api";
import { BitcoinNetwork } from "./types";
export declare function createProvider(endpoint: string, autoConnect?: number | false | undefined): ProviderInterface;
export declare function createSubstrateAPI(endpoint: string, autoConnect?: number | false | undefined): Promise<ApiPromise>;
export declare function createInterBtcApi(endpoint: string, network?: BitcoinNetwork, account?: AddressOrPair, autoConnect?: number | false | undefined): Promise<InterBtcApi>;
export declare function getAPITypes(): RegistryTypes;
export declare function getRPCTypes(): Record<string, Record<string, DefinitionRpc | DefinitionRpcSub>>;
export declare function createAPIRegistry(): TypeRegistry;
