import { AppState } from '../app';
import { RequestError, RequestStatus } from '@open-tender/types';
export interface UnsubscribeState {
    loading: RequestStatus;
    error: RequestError;
    success: boolean;
}
export declare enum UnsubscribeActionType {
    Unsubscribe = "unsubscribe/unsubscribe",
    UnsubscribeByKey = "unsubscribe/unsubscribeByKey"
}
export declare const unsubscribe: import("@reduxjs/toolkit").AsyncThunk<void, {
    customer_id: string;
    campaign_id: string;
}, {
    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 unsubscribeByKey: import("@reduxjs/toolkit").AsyncThunk<void, {
    key: string;
}, {
    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 resetUnsubscribe: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"Unsubscribe/resetUnsubscribe">;
export declare const selectUnsubscribe: (state: AppState) => UnsubscribeState;
export declare const unsubscribeReducer: import("redux").Reducer<UnsubscribeState, import("redux").AnyAction>;
