import { AuthMethod, prepareBroadcastRequest, walletMessage } from '@defuse-protocol/internal-utils';
/**
 * Serializes a signed intent into the protocol's wire format
 * Transforms both signature and message data into the standardized
 * encoding expected by the Near Intents Protocol
 *
 * @param signature The signature result from the wallet
 * @param credentials The signer's credentials
 * @returns Intent data serialized in protocol wire format
 */
declare function formatSignedIntent(signature: walletMessage.WalletSignatureResult, credentials: SignerCredentials): ReturnType<typeof prepareBroadcastRequest.prepareSwapSignedData>;
export declare function verifyWalletSignature(signature: Parameters<typeof formatSignedIntent>[0], credential: string, credentialType: AuthMethod): Promise<boolean>;
export declare function walletVerificationMessageFactory(credential: string, credentialType: AuthMethod): walletMessage.WalletMessage;
interface SignerCredentials {
    /** The credential (blockchain address or WebAuthn public key) that will sign or has signed the intent */
    credential: string;
    /** The type of credential (chain or authentication method) */
    credentialType: AuthMethod;
}
export {};
