import { RxHttpRequestAction, RxHttpActionTypes } from 'redux-rx-http';
import { JobLabelModel, JobLabelServiceCentreModel, JobLabelRegionModel } from '@lml/cosmo-ts-data';
export declare const FETCH_JOB_LABELS: RxHttpActionTypes;
export declare const POST_JOB_LABEL: RxHttpActionTypes;
export declare const PUT_JOB_LABEL: RxHttpActionTypes;
export declare const DELETE_JOB_LABEL: RxHttpActionTypes;
export declare const SET_JOB_LABELS_BATCH = "SET_JOB_LABELS_BATCH";
export declare const SET_JOB_LABEL = "SET_JOB_LABEL";
export declare const REMOVE_JOB_LABEL = "REMOVE_JOB_LABEL";
export interface SetJobLabelsBatchAction {
    type: 'SET_JOB_LABELS_BATCH';
    regions: {
        [refId: string]: JobLabelRegionModel;
    };
    serviceCentres: {
        [refId: string]: JobLabelServiceCentreModel;
    };
    jobLabels: {
        [refId: string]: JobLabelModel;
    };
}
export interface SetJobLabelAction {
    type: 'SET_JOB_LABEL';
    jobLabel: JobLabelModel;
}
export interface RemoveJobLabelAction {
    type: 'REMOVE_JOB_LABEL';
    jobLabel: JobLabelModel;
}
export declare const fetchJobLabels: () => RxHttpRequestAction;
export interface PostJobLabelRequest extends JobLabelModel {
    name?: string;
}
export declare const postJobLabel: (jobLabel: PostJobLabelRequest, args?: any) => RxHttpRequestAction;
export declare const putJobLabel: (jobLabel: PostJobLabelRequest, args?: any) => RxHttpRequestAction;
export declare const deleteJobLabel: (jobLabel: PostJobLabelRequest, args?: any) => RxHttpRequestAction;
export declare const setJobLabels: (regions: {
    [refId: string]: JobLabelRegionModel;
}, serviceCentres: {
    [refId: string]: JobLabelServiceCentreModel;
}, jobLabels: {
    [refId: string]: JobLabelModel;
}) => SetJobLabelsBatchAction;
export declare const setJobLabel: (jobLabel: JobLabelModel) => SetJobLabelAction;
export declare const removeJobLabel: (jobLabel: JobLabelModel) => RemoveJobLabelAction;
