@bigmi/client
Version:
Reactive primitives for Bitcoin apps.
30 lines (29 loc) • 1.87 kB
TypeScript
import { Connector } from "../types/connector.js";
import { Config } from "../factories/createConfig.js";
import { Account, Client, Compute } from "@bigmi/core";
//#region src/actions/getConnectorClient.d.ts
type ChainIdParameter<config extends Config, chainId extends config["chains"][number]["id"] | undefined = config["chains"][number]["id"]> = {
chainId?: (chainId extends config["chains"][number]["id"] ? chainId : undefined) | config["chains"][number]["id"] | undefined;
};
type GetConnectorClientReturnType<config extends Config = Config, chainId extends config["chains"][number]["id"] = config["chains"][number]["id"]> = Compute<Client<config["_internal"]["transports"][chainId], Extract<config["chains"][number], {
id: chainId;
}>, Account>>;
type ConnectorParameter = {
connector?: Connector | undefined;
};
type GetConnectorClientParameters<config extends Config = Config, chainId extends config["chains"][number]["id"] = config["chains"][number]["id"]> = Compute<ChainIdParameter<config, chainId> & ConnectorParameter & {
/**
* Account to use for the client.
*
* - `Account | Address`: An Account MUST exist on the connector.
* - `null`: Account MAY NOT exist on the connector. This is useful for
* actions that can infer the account from the connector (e.g. sending a
* call without a connected account – the user will be prompted to select
* an account within the wallet).
*/
account?: Account | null | undefined;
}>;
declare function getConnectorClient<C extends Config, ChainId extends C["chains"][number]["id"]>(config: C, parameters?: GetConnectorClientParameters<C, ChainId>): Promise<GetConnectorClientReturnType<C, ChainId>>;
//#endregion
export { ChainIdParameter, ConnectorParameter, GetConnectorClientParameters, GetConnectorClientReturnType, getConnectorClient };
//# sourceMappingURL=getConnectorClient.d.ts.map