import { ChainEnum } from '@dynamic-labs/sdk-api-core'; import { Wallet } from '../../../shared'; export type WalletDelegationStatus = 'delegated' | 'denied' | 'pending'; export type WalletWithStatus = Wallet & { status: WalletDelegationStatus; isDismissedThisSession?: boolean; }; /** * Gets pending wallets that are eligible for delegation. * If wallets are provided and not empty, converts them to WalletWithStatus[] with pending status. * Otherwise, returns all pending wallets from getWalletsDelegatedStatus. */ export declare const getWalletsToDelegate: (wallets: { chainName: ChainEnum; accountAddress: string; }[] | undefined, getWalletsDelegatedStatus: () => WalletWithStatus[]) => WalletWithStatus[]; export declare const useWalletDelegation: () => { readonly clearDelegationSessionState: () => void; readonly delegateKeyShares: (wallets?: { chainName: ChainEnum; accountAddress: string; }[], password?: string) => Promise; readonly delegatedAccessEnabled: boolean | undefined; readonly denyWalletDelegation: (walletId: string) => Promise; readonly dismissDelegationPrompt: (walletId?: string) => void; readonly getWalletsDelegatedStatus: () => WalletWithStatus[]; readonly getWalletsToDelegate: (wallets: { chainName: ChainEnum; accountAddress: string; }[] | undefined, getWalletsDelegatedStatus: () => WalletWithStatus[]) => WalletWithStatus[]; readonly initDelegationProcess: (options?: { wallets?: Wallet[]; }) => Promise; readonly requiresDelegation: boolean | undefined; readonly revokeDelegation: (wallets: { chainName: ChainEnum; accountAddress: string; }[], password?: string) => Promise; readonly shouldPromptWalletDelegation: () => boolean; };