import { BigNumber } from "ethers";
import { DepositWithBlock, FillWithBlock, RefundRequestWithBlock } from "./";
export declare type UbaInflow = DepositWithBlock;
export declare type UbaOutflow = (FillWithBlock | RefundRequestWithBlock) & {
    matchedDeposit: DepositWithBlock;
};
export declare type UbaFlow = UbaInflow | UbaOutflow;
export declare const isUbaInflow: (flow: UbaFlow) => flow is DepositWithBlock;
export declare const isUbaOutflow: (flow: UbaFlow) => flow is UbaOutflow;
export declare const outflowIsFill: (outflow: UbaOutflow) => outflow is FillWithBlock & {
    matchedDeposit: DepositWithBlock;
};
export declare const outflowIsRefund: (outflow: UbaOutflow) => outflow is RefundRequestWithBlock & {
    matchedDeposit: DepositWithBlock;
};
export declare type UBASpokeBalanceType = {
    chainId: number;
    blockNumber: number;
    lastValidatedRunningBalance?: BigNumber;
    recentRequestFlow: UbaFlow[];
};
export declare type UBAFeeResult = {
    depositorFee: BigNumber;
    refundFee: BigNumber;
    totalUBAFee: BigNumber;
};
