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

/**
 * @fileoverview Functions for interacting with the Teller contract
 */

type BridgeData = {
    chainSelector: number;
    destinationChainReceiver: Address;
    bridgeFeeToken: Address;
    messageGas: bigint;
    data: `0x${string}`;
};
type GetPreviewFeeProps = {
    shareAmount: bigint;
    bridgeData: BridgeData;
    contractAddress: Address;
    chainId: ChainId;
};
declare const getPreviewFee: ({ shareAmount, bridgeData, contractAddress, chainId, }: GetPreviewFeeProps) => Promise<bigint>;

export { type BridgeData, getPreviewFee };
