import { SolanaSignIn, type SolanaSignInInput, type SolanaSignInOutput, SolanaSignMessage, type SolanaSignMessageInput, type SolanaSignMessageOutput } from '@solana/wallet-standard-features'; import type { UiWallet, UiWalletAccount } from '@wallet-standard/ui'; import type { ReactNode } from 'react'; export type { UiWallet, UiWalletAccount }; export type WalletUiAuthMethod = typeof SolanaSignIn | typeof SolanaSignMessage; export type WalletUiAuthNativeSignIn = (input?: SolanaSignInInput) => Promise & { account: UiWalletAccount; }>; export interface UseWalletUiAuthOptions { wallet: UiWallet; } export type WalletUiAuthSignMessage = (input: Omit) => Promise>; export type WalletUiAuthUnavailableReason = 'auth-unsupported' | 'message-signing-unavailable' | 'missing-domain' | 'wallet-not-connected'; export interface WalletUiAuthProps { children(auth: WalletUiAuthState): ReactNode; wallet: UiWallet; } export interface WalletUiAuthResult { account: UiWalletAccount; input: SolanaSignInInput; method: WalletUiAuthMethod; signature: Uint8Array; signedMessage: Uint8Array; } export interface WalletUiAuthSignInOptions { input?: SolanaSignInInput; } export interface WalletUiAuthState { canSignIn: boolean; isSigningIn: boolean; messageSigningAvailable: boolean; nativeSignInAvailable: boolean; reason: WalletUiAuthUnavailableReason | undefined; signIn(options?: WalletUiAuthSignInOptions): Promise; } export declare class WalletUiAuthError extends Error { readonly cause?: unknown; readonly reason: WalletUiAuthUnavailableReason; constructor(reason: WalletUiAuthUnavailableReason, cause?: unknown); } //# sourceMappingURL=wallet-ui-auth-types.d.ts.map