;
}
/** Return type of useWallet */
type UseWalletReturn = UseWalletState & UseWalletActions;
/**
* Hook for wallet connection and signing
*
* @example
* ```tsx
* function WalletButton() {
* const { isConnected, accounts, connect, disconnect, selectAccount } = useWallet();
*
* if (!isConnected) {
* return ;
* }
*
* return (
*
*
*
*
* );
* }
* ```
*/
declare function useWallet(): UseWalletReturn;
/**
* useLocalStorage hook
*/
/**
* Hook for key-value storage operations
*
* @param key - Storage key
* @param defaultValue - Default value if key doesn't exist
*
* @example
* ```tsx
* function ThemeToggle() {
* const [theme, setTheme, { loading }] = useLocalStorage('theme', 'light');
*
* if (loading) return Loading...
;
*
* return (
*
* );
* }
* ```
*/
declare function useLocalStorage(key: string, defaultValue?: T): [T | null, (value: T) => Promise, {
loading: boolean;
error: Error | null;
}];
/**
* Hook for string storage (simpler API)
*
* @param key - Storage key
* @param defaultValue - Default value
*/
declare function useLocalStorageString(key: string, defaultValue?: string): [string | null, (value: string) => Promise, {
loading: boolean;
}];
/**
* useChain hook
*/
/**
* Hook to get a typed chain client
*
* @param chain - Chain descriptor (PAPI ChainDefinition)
*
* @example
* ```tsx
* import { paseo_asset_hub } from '@parity/product-sdk-descriptors/paseo-asset-hub';
* import { useChain } from '@parity/product-sdk/react';
*
* function AssetHubBalance() {
* const assetHub = useChain(paseo_asset_hub);
*
* // assetHub is typed for Asset Hub queries
* const balance = await assetHub.query.System.Account.getValue(address);
* }
* ```
*/
declare function useChain(chain: T): TypedApi;
export { ProductSDKContext, ProductSDKProvider, type ProductSDKProviderProps, type UseWalletActions, type UseWalletReturn, type UseWalletState, useChain, useLocalStorage, useLocalStorageString, useProductSDK, useWallet };