import { AuthProvider, User, TransactionResult, EVMTransaction, SolTransaction } from "@pooflabs/core"; import { SetOptions } from "@pooflabs/core"; import { 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., Privy, Phantom) for the poofnet environment. * * For signMessageMock, this shows a custom confirmation modal and generates a mock signature. * This is used for offchain transaction signing. For real wallet signing, use signMessage * which delegates to the wrapped provider. */ export declare class OffchainAuthProvider implements AuthProvider { private wrappedProvider; private config; private modalContainer; constructor(wrappedProvider: AuthProvider, config?: OffchainAuthProviderConfig); login(): Promise; setLoginOverrides(opts: any): void; logout(): Promise; restoreSession(): Promise; runTransaction(evmTransactionData?: EVMTransaction, solTransactionData?: SolTransaction, options?: SetOptions): Promise; signTransaction(tx: Transaction | VersionedTransaction): Promise; /** * Sign and submit transaction - not supported in poofnet 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; getNativeMethods(): Promise; exportWallet(address?: string): Promise; signMessage(message: string): Promise; signMessageMock(message: string): Promise; private showUnsupportedTransactionModal; private getUnsupportedModalHTML; private showTransactionModal; private closeModal; private formatPath; private formatFieldValue; private getActionDescription; private getModalHTML; private getModalStyles; private generateMockSignature; }