import { AppState } from '../app';
import { OrderFulfillment, RequestError, RequestStatus } from '@open-tender/types';
export interface OrderFulfillmentState {
    orderFulfillment: OrderFulfillment | null;
    error: RequestError;
    loading: RequestStatus;
}
export declare enum OrderFulfillmentActionType {
    FetchOrderFulfillment = "orderFulfillment/fetchOrderFulfillment",
    UpdateOrderFulfillment = "orderFulfillment/updateOrderFulfillment"
}
export declare const fetchOrderFulfillment: import("@reduxjs/toolkit").AsyncThunk<OrderFulfillment, number, {
    state: AppState;
    rejectValue: RequestError;
    dispatch?: import("redux").Dispatch<import("redux").AnyAction> | undefined;
    extra?: unknown;
    serializedErrorType?: unknown;
    pendingMeta?: unknown;
    fulfilledMeta?: unknown;
    rejectedMeta?: unknown;
}>;
export declare const updateOrderFulfillment: import("@reduxjs/toolkit").AsyncThunk<OrderFulfillment, {
    orderId: number;
    data: OrderFulfillment;
}, {
    state: AppState;
    rejectValue: RequestError;
    dispatch?: import("redux").Dispatch<import("redux").AnyAction> | undefined;
    extra?: unknown;
    serializedErrorType?: unknown;
    pendingMeta?: unknown;
    fulfilledMeta?: unknown;
    rejectedMeta?: unknown;
}>;
export declare const resetOrderFulfillment: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"orderFulfillment/resetOrderFulfillment">;
export declare const selectOrderFulfillment: (state: AppState) => OrderFulfillmentState;
export declare const orderFulfillmentReducer: import("redux").Reducer<OrderFulfillmentState, import("redux").AnyAction>;
