import { AppState } from '../app';
import { Donation, DonationPurchase, RequestError, RequestStatus } from '@open-tender/types';
export interface DonationState {
    donation: Donation | null;
    error: RequestError | Record<string, any>;
    loading: RequestStatus;
    success: boolean;
}
export declare enum DonationActionType {
    PurchaseDonation = "donations/purchaseDonation"
}
export declare const purchaseDonation: import("@reduxjs/toolkit").AsyncThunk<Donation, {
    data: DonationPurchase;
    callback?: (() => void) | undefined;
}, {
    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 resetDonation: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"donations/resetDonation">;
export declare const selectDonation: (state: AppState) => DonationState;
export declare const donationsReducer: import("redux").Reducer<DonationState, import("redux").AnyAction>;
