export type NetworkString = 'mainnet' | 'testnet'; export interface DAppSigner { getAccountId(): { toString(): string; }; [key: string]: unknown; } export type WalletInfo = { accountId: string; network: NetworkString; }; export type WalletInfoResolver = () => Promise | WalletInfo | null; export type WalletExecutor = (base64: string, network: NetworkString) => Promise<{ transactionId: string; }>; export type HCSOperation = 'submitConnectionRequest' | 'handleConnectionRequest' | 'sendMessage' | 'hcs2.createRegistry' | 'hcs2.migrateRegistry' | 'hcs2.registerEntry' | 'hcs2.updateEntry' | 'hcs2.deleteEntry' | 'hcs2.submitMessage' | 'hcs6.createRegistry' | 'hcs6.registerEntry' | 'hcs6.submitMessage'; export type StartHCSDelegate = (op: HCSOperation, request: Record, network: NetworkString) => Promise<{ transactionBytes: string; }>; /** * Central registry for browser signer and wallet execution delegates */ export declare class SignerProviderRegistry { private static _signerProvider; private static _walletInfoResolver; private static _walletExecutor; private static _startHCSDelegate; private static _browserHCSClientFactory; private static _preferWalletOnly; static setSignerProvider(provider: typeof SignerProviderRegistry._signerProvider): void; static getSigner(): Promise; static setWalletInfoResolver(resolver: WalletInfoResolver | null): void; static getWalletInfo(): Promise; static setWalletExecutor(executor: WalletExecutor | null): void; static get walletExecutor(): WalletExecutor | null; static setStartHCSDelegate(delegate: StartHCSDelegate | null): void; static get startHCSDelegate(): StartHCSDelegate | null; static setPreferWalletOnly(flag: boolean): void; /** * Register a factory to construct a BrowserHCSClient-like instance for wallet-driven flows */ static setBrowserHCSClientFactory(factory: ((network: NetworkString) => unknown) | null): void; static getBrowserHCSClient(network: NetworkString): unknown | null; static get preferWalletOnly(): boolean; }