import type { PermitBatchData } from '../interfaces/permit-batch-data.interface';
import type { PermitData } from '../interfaces/permit-data.interface';
import { EvmSDKV5 } from '../evm-sdk-v5';
import { SdkResponse } from '../interfaces/sdk-response.interface';
import { ITokensModuleExtended } from '../interfaces/tokens-module-extended.interface';
import { TransactionOptions } from '../types';
export declare class EvmTokensModuleV5 implements ITokensModuleExtended {
    private sdk;
    private permitAllowanceProvider;
    constructor(sdk: EvmSDKV5);
    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>;
    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>;
    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-v5.d.ts.map