import { AppState } from '../app';
import { RevenueCenters, RevenueCenterParams, RequestError, RequestStatus } from '@open-tender/types';
export interface RevenueCentersState {
    revenueCenters: RevenueCenters;
    links: Record<string, string>;
    error: RequestError;
    loading: RequestStatus;
}
export interface LocationsAPIResponse {
    data: RevenueCenters;
    links: {
        next: string;
    };
}
export declare enum RevenueCentersActionType {
    FetchRevenueCenters = "revenueCenters/fetchRevenueCenters",
    FetchLocations = "revenueCenters/fetchLocations"
}
export declare const fetchRevenueCenters: import("@reduxjs/toolkit").AsyncThunk<LocationsAPIResponse, RevenueCenterParams, {
    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 fetchLocations: import("@reduxjs/toolkit").AsyncThunk<LocationsAPIResponse, RevenueCenterParams, {
    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 resetRevenueCenters: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"revenueCenters/resetRevenueCenters">, setRevenueCenters: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "revenueCenters/setRevenueCenters">;
export declare const selectRevenueCenters: (state: AppState) => RevenueCentersState;
export declare const selectRevenueCenterCount: (state: AppState) => number;
export declare const revenueCentersReducer: import("redux").Reducer<RevenueCentersState, import("redux").AnyAction>;
