import { Address } from 'viem';
import { ChainId } from '../api/vault-config.mjs';
import { VaultKey } from '../vaults/config.mjs';
import 'viem/chains';

declare const isDepositSpendApproved: ({ vaultKey, sourceChainId, depositTokenSymbol, userAddress, }: {
    vaultKey: VaultKey;
    sourceChainId: ChainId;
    userAddress: Address;
    depositTokenSymbol: string;
}) => Promise<{
    isApproved: boolean;
    allowance: string;
    allowanceAsBigInt: string;
    decimals: string;
    error: Error | undefined;
} | {
    isApproved: boolean;
    allowance: string;
    allowanceAsBigInt: string;
    decimals: number;
    error: null;
}>;
declare const isWithdrawalSpendApproved: ({ vaultKey, destinationChainId, userAddress, }: {
    vaultKey: VaultKey;
    destinationChainId: ChainId;
    userAddress: Address;
}) => Promise<{
    isApproved: boolean;
    allowance: string;
    allowanceAsBigInt: string;
    decimals: string;
    error: Error | undefined;
} | {
    isApproved: boolean;
    allowance: string;
    allowanceAsBigInt: string;
    decimals: number;
    error: null;
}>;

export { isDepositSpendApproved, isWithdrawalSpendApproved };
