import { SignedOrder } from '@0x/types';
import { QuantityInterface, TokenInterface } from '@melonproject/token-math';
import { EnhancedExecute } from '../../../../../utils/solidity/transactionFactory';
import { Environment } from '../../../../../utils/environment/Environment';
export interface FillOrderArgs {
    signedOrder: SignedOrder;
    takerQuantity?: QuantityInterface;
}
export interface FillOrderResult {
    makerFilledAmount: QuantityInterface;
    takerFilledAmount: QuantityInterface;
    makerFeePaid: QuantityInterface;
    takerFeePaid: QuantityInterface;
}
declare const parse0xFillReceipt: (environment: Environment, { fillValues, feeToken }: {
    fillValues: any;
    feeToken: TokenInterface;
}) => Promise<{
    makerFeePaid: QuantityInterface;
    makerFilledAmount: QuantityInterface;
    takerFeePaid: QuantityInterface;
    takerFilledAmount: QuantityInterface;
}>;
declare const fillOrder: EnhancedExecute<FillOrderArgs, FillOrderResult>;
export { fillOrder, parse0xFillReceipt };
