import { Token } from '../../Providers/ConfigProvider';
import { RebateDetails, RequestType } from './useFetchQuote';

export declare const useRequestStatus: ({ requestHash, requestType, }: {
    requestHash: string;
    requestType: RequestType;
}) => {
    data: RequestStatus;
    isLoading: boolean;
    refetch: (options?: import('@tanstack/react-query').RefetchOptions | undefined) => Promise<import('@tanstack/react-query').QueryObserverResult<any, Error>>;
};
export type StatusEndPoint = {
    token: Token;
    chainId: number;
    priceInUsd: number;
    amount?: string;
    minAmountOut: string;
    promisedAmount?: string;
    fulfilledAmount?: string;
    fulfilValueInUsd?: number;
    minAmountOutInUsd?: number;
};
export declare enum RequestStatusEnum {
    PENDING = 0,
    ASSIGNED = 1,
    EXTRACTED = 2,
    FULFILLED = 3,
    SETTLED = 4,
    EXPIRED = 5,
    CANCELLED = 6,
    REFUND_PENDING = 7,
    REFUNDE = 8
}
export type STATUS_CODE = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9;
export interface RequestStatus {
    requestType: RequestType;
    requestHash: string;
    status: keyof typeof RequestStatusEnum;
    statusCode: STATUS_CODE;
    sourceTransactionHash: string;
    destinationTransactionHash: string | null;
    input: StatusEndPoint[];
    output: StatusEndPoint[];
    sender: string;
    recipient: string;
    orderTimestamp: number;
    srcTimestamp: number;
    destTimestamp?: number | null;
    rebateDetails?: RebateDetails;
    quotedOutputAmount: string;
    quotedOutputInUsd: number;
}
