import type { PermitBatchData, PermitBatchTransferFrom, PermitData, Witness } from './permit2/interfaces';
import { EvmSDK } from '../evm-sdk';
import { SdkResponse } from '../interfaces/sdk-response.interface';
import { ITokensModuleExtended } from '../interfaces/tokens-module-extended.interface';
import { TransactionOptions } from '../types';
export declare class EvmTokensModule implements ITokensModuleExtended {
    private sdk;
    private permitAllowanceProvider;
    constructor(sdk: EvmSDK);
    checkBalance(token: string, owner: string): Promise<bigint>;
    checkBalances(tokens: string[], owner: string): Promise<Record<string, bigint>>;
    checkAllowance(token: string, owner: string, spender: string): Promise<bigint>;
    increaseAllowance(token: string, spender: string, amount: bigint, options?: TransactionOptions): Promise<SdkResponse>;
    estimateApprovalGasFee(token: string, spender: string, amount: bigint): Promise<bigint>;
    checkPermitAmount(token: string, owner: string, spender: string): Promise<bigint>;
    ensurePermit2Allowance(token: string, options?: TransactionOptions): Promise<SdkResponse | undefined>;
    generatePermitData(token: string, spender: string, amount?: bigint): Promise<PermitData>;
    generatePermitBatchData(assets: {
        token: string;
        amount?: bigint;
    }[], spender: string): Promise<PermitBatchData>;
    signPermitBatchTransferFrom(permit: PermitBatchTransferFrom, witness?: Witness): Promise<string>;
    revoke(token: string, spender: string): Promise<SdkResponse>;
    getTotalSupply(address: string): Promise<bigint>;
    ensureAllowance(token: string, owner: string, spender: string, amount: bigint, options?: TransactionOptions): Promise<SdkResponse | undefined>;
}
//# sourceMappingURL=evm-tokens.module.d.ts.map