import type { EsdtEnumType, NftEnumType } from "../../../types/tokens.types";
export interface ITransactionData {
    receiver?: string;
    data?: string;
    value?: string;
}
export type FungibleTransactionType = {
    amount: string;
    identifier?: string;
    imageURL: string;
};
export type TokenType = EsdtEnumType | NftEnumType;
export interface ISignTransactionsModalCommonData {
    receiver?: string;
    data?: string;
    gasPrice?: string;
    /**
     * ppu - Price Per Unit
     * a constant that is used to calculate the gas price inside `recommendGasPrice`
     */
    ppu?: number;
    ppuOptions: {
        label: string;
        value: number;
    }[];
    gasLimit?: string;
    transactionsCount: number;
    tokenType?: TokenType;
    egldLabel: string;
    feeLimit?: string;
    feeInFiatLimit?: string | null;
    currentIndex: number;
    needsSigning?: boolean;
    isEditable?: boolean;
    highlight?: string | null;
    scCall?: string | null;
}
export interface ISignTransactionsModalData {
    shouldClose?: true;
    commonData: ISignTransactionsModalCommonData;
    tokenTransaction: {
        identifier?: string;
        amount: string;
        usdValue: string;
    } | null;
    nftTransaction: FungibleTransactionType | null;
    sftTransaction: FungibleTransactionType | null;
}
export declare enum SignEventsEnum {
    'CONFIRM' = "CONFIRM",// can be sign or next
    'BACK' = "BACK",
    'CLOSE' = "CLOSE",
    'DATA_UPDATE' = "DATA_UPDATE",
    'SET_PPU' = "SET_PPU"
}
