import type { ExtendedChain, LiFiStep, SignedTypedData } from '@lifi/types';
import type { Client } from 'viem';
import type { StatusManager } from '../StatusManager';
import type { ExecutionOptions } from '../types';
import type { Call } from './types';
export type CheckAllowanceParams = {
    client: Client;
    chain: ExtendedChain;
    step: LiFiStep;
    statusManager: StatusManager;
    executionOptions?: ExecutionOptions;
    allowUserInteraction?: boolean;
    batchingSupported?: boolean;
    permit2Supported?: boolean;
    disableMessageSigning?: boolean;
};
export type AllowanceResult = {
    status: 'ACTION_REQUIRED' | 'DONE';
} | {
    status: 'BATCH_APPROVAL';
    data: Call;
} | {
    status: 'NATIVE_PERMIT';
    data: SignedTypedData;
};
export declare const checkAllowance: ({ client, chain, step, statusManager, executionOptions, allowUserInteraction, batchingSupported, permit2Supported, disableMessageSigning, }: CheckAllowanceParams) => Promise<AllowanceResult>;
//# sourceMappingURL=checkAllowance.d.ts.map