import { type ClientConfig } from '../client/config'; /** * The immutable subset of a resolved {@link ClientConfig} a session mint needs: * the target app and its wallet/SIWS issuer, plus the configured auth method. * * A server `WalletClient` snapshots this at construction and threads it into * every nonce/session/refresh call so the mint is BOUND to the app+issuer the * client was created against. Without it, `genAuthNonce`/`createSessionWithSignature` * read the mutable process-global config, so a later `init(...)` for a different * app or environment would silently retarget the wallet client's session mint * (CTA-05). */ export type SessionMintConfig = Pick; export declare function genNonce(): Promise; export declare function genAuthNonce(sessionConfig?: SessionMintConfig): Promise; /** * Exchange a wallet signature for a Bounded session at the /session issuer. * * @param authMethodOverride the exact /session discriminator to send (e.g. 'siwe' * for the SIWE/EVM path). When omitted the method is derived from config: an * aliased method (evm-wallet → siwe) maps through SESSION_METHOD_ALIASES, a * Solana wallet/guest method passes through verbatim, and anything else * defaults to the canonical 'phantom' the issuer accepts for a signature. */ export declare function createSessionWithSignature(address: string, message: string, signature: string, authMethodOverride?: string, sessionConfig?: SessionMintConfig): Promise; export declare function refreshSession(refreshToken: string, issuer?: string): Promise; export declare class SessionRevokeError extends Error { readonly cause?: unknown; constructor(message: string, cause?: unknown); } /** * Revoke a session's refresh-token family server-side (logout). Routes to the * minting issuer and rejects if the revoke request fails. */ export declare function revokeSession(refreshToken: string, issuer?: string): Promise; export declare function signSessionCreateMessage(_signMessageFunction: (message: string) => Promise): Promise;