/**
 * Wallet event name constants
 *
 * Different wallets use different event names for the same events.
 * These constants help normalize event handling across wallets.
 */
/** Event names for account changes (different wallets use different names) */
export declare const ACCOUNT_CHANGE_EVENTS: readonly ["accountChanged", "accountsChanged"];
export type AccountChangeEvent = (typeof ACCOUNT_CHANGE_EVENTS)[number];
/** Check if an event name is an account change event */
export declare function isAccountChangeEvent(eventName: string): eventName is AccountChangeEvent;
/** Event name for disconnect */
export declare const DISCONNECT_EVENT: "disconnect";
/** Cosmos wallet keystore change events (different wallets use different window events) */
export declare const COSMOS_KEYSTORE_CHANGE_EVENTS: readonly ["keplr_keystorechange", "leap_keystorechange", "okx_keystorechange"];
/**
 * Helper to remove event listener from a provider.
 * Falls back from removeListener to off for compatibility across wallet implementations.
 */
export declare function removeProviderListener(provider: {
    removeListener?: (event: string, cb: () => void) => void;
    off?: (event: string, cb: () => void) => void;
}, event: string, callback: () => void): void;
