import type { TokenScope, VerifyResponse, WalletProviderEnum } from '@dynamic-labs/sdk-api-core';
import type { DynamicClient } from '../../../client/types';
import type { Chain } from '../../chain';
import type { WalletAddressWithType } from '../walletAccount/walletAccount.types';
type VerifyMessageSignatureOwnershipParams = {
    addressesWithTypes?: WalletAddressWithType[];
    chain: Chain;
    isTransfer?: boolean;
    messageToSign: string;
    networkId?: string;
    requestedScopes?: TokenScope[];
    signature: string;
    walletAddress: string;
    walletDisplayName: string;
    walletProviderType: WalletProviderEnum;
};
/**
 * Verifies a signed message by calling either the verifyLink, verifyTransfer or verify API function,
 * depending on whether the user is signing in, linking or transferring a wallet.
 *
 * Does NOT call updateAuthFromVerifyResponse, it should be called from the return of this function.
  * @instrumented
 */
export declare const verifyMessageSignatureOwnership: ({ messageToSign, walletAddress, addressesWithTypes, signature, chain, isTransfer, walletDisplayName, walletProviderType, networkId, requestedScopes, }: VerifyMessageSignatureOwnershipParams, client: DynamicClient) => Promise<VerifyResponse>;
export {};
//# sourceMappingURL=verifyMessageSignatureOwnership.d.ts.map