import type { AuthProvider, User } from "@bounded-sh/core"; import type { Transaction, VersionedTransaction } from "@solana/web3.js"; export interface OffchainAuthProviderConfig { onSigningStart?: () => void; onSigningComplete?: (signature: string) => void; onSigningError?: (error: Error) => void; } /** * OffchainAuthProvider wraps a real auth provider (e.g., Phantom) for the poofnet environment. * * signMessage shows a custom confirmation modal and then delegates to the wrapped * provider for a real detached signature over the exact offchain transaction message. */ export declare class OffchainAuthProvider implements AuthProvider { private wrappedProvider; private config; constructor(wrappedProvider: AuthProvider, config?: OffchainAuthProviderConfig); login(): Promise; setLoginOverrides(opts: any): void; logout(): Promise; restoreSession(): Promise; signTransaction(tx: Transaction | VersionedTransaction): Promise; /** * Sign and submit transaction - not supported in poofnet environment. * See the real providers (PhantomWalletProvider, SolanaKeypairProvider) * for the full implementation with blockhash handling and feePayer support. */ signAndSubmitTransaction(_transaction: Transaction | VersionedTransaction, _feePayer?: any): Promise; getNativeMethods(): Promise; exportWallet(address?: string): Promise; signMessage(message: string): Promise; private showUnsupportedTransactionModal; private showTransactionModal; private createElement; private appendTextElement; private buildModalShell; private buildInfoBox; private buildUnsupportedModalContent; private formatPath; private formatFieldValue; private getActionDescription; private buildTransactionModalContent; private buildInstructionElement; private getModalStyles; }