import type { CantonClient, SpliceProvider } from "@sigilry/dapp"; import type { ConnectorID } from "../types/wallet"; export interface InjectedCantonWalletConfig { connectorId: ConnectorID; name: string; icon?: string; /** Dot-path to the injected CIP-103 provider on `window` (e.g. `nightly.canton`). */ windowPath: string; } /** * CIP-103 wallets that expose their provider as an injected `window` global * instead of participating in the `canton:announceProvider` discovery protocol. * Add an entry to support a new one. */ export declare const INJECTED_CANTON_WALLETS: InjectedCantonWalletConfig[]; export interface DiscoveredInjectedCantonWallet { config: InjectedCantonWalletConfig; provider: SpliceProvider; } /** * Adapts an injected CIP-103 `SpliceProvider` (the normative `request` API) to * the {@link CantonClient} surface consumed by `CantonBrowserConnector`, so * injected wallets reuse the same connector as announce-discovered ones. */ export declare function cantonClientFromSpliceProvider(provider: SpliceProvider): CantonClient; /** * Detect installed injected Canton wallets by walking each registered * `windowPath`, mirroring the `definedInWindow` install check used for other * non-autodiscovered wallets. */ export declare function discoverInjectedCantonWallets(win?: Window): DiscoveredInjectedCantonWallet[];