import { AuthProvider, User, TransactionResult, SolTransaction, EVMTransaction } from '@pooflabs/core'; import { SetOptions } from '@pooflabs/core'; import { Transaction, VersionedTransaction } from '@solana/web3.js'; export declare const DEFAULT_TEST_ADDRESS = "HKbZbRR7jWWR5VRN8KFjvTCHEzJQgameYxKQxh2gPoof"; /** * MockAuthProvider bypasses real wallet authentication for testing purposes. * Uses session storage to simulate logged-in user, with fallback to default test address. * * This is enabled by passing mockAuth: true to init() */ export declare class MockAuthProvider implements AuthProvider { /** * Mock login - reads user from session storage or uses default test address */ login(): Promise; /** * Mock transaction - returns fake signature without actual blockchain interaction * The real transaction will be handled by the backend using test headers */ runTransaction(evmTransactionData?: EVMTransaction, solTransactionData?: SolTransaction, options?: SetOptions): Promise; /** * Mock message signing */ signMessage(message: string): Promise; signMessageMock(message: string): Promise; /** * Mock transaction signing - returns the transaction as-is (no actual signing) */ signTransaction(transaction: Transaction | VersionedTransaction): Promise; /** * Sign and submit transaction - not supported in mock environment. * See the real providers (PhantomWalletProvider, PrivyWalletProvider, SolanaKeypairProvider) * for the full implementation with blockhash handling and feePayer support. */ signAndSubmitTransaction(_transaction: Transaction | VersionedTransaction, _feePayer?: any): Promise; /** * Restore session - only restores if user previously called login() explicitly. * This prevents auto-login on first page load, but allows session persistence after login. */ restoreSession(): Promise; /** * Mock logout - clears test user from session storage */ logout(): Promise; /** * Get native wallet methods (not needed for mock auth) */ getNativeMethods(): Promise; }