import type { CreateDistanceDonation } from '../models/CreateDistanceDonation';
import type { CreateFixedDonation } from '../models/CreateFixedDonation';
import type { ResponseDistanceDonation } from '../models/ResponseDistanceDonation';
import type { ResponseDonation } from '../models/ResponseDonation';
import type { ResponseEmpty } from '../models/ResponseEmpty';
import type { UpdateDistanceDonation } from '../models/UpdateDistanceDonation';
import type { UpdateFixedDonation } from '../models/UpdateFixedDonation';
export declare class DonationService {
    /**
     * Get all
     * Lists all donations (fixed or distance based) from all donors. <br> This includes the donations's runner's distance ran(if distance donation).
     * @result any
     * @throws ApiError
     */
    static donationControllerGetAll(): Promise<(Array<ResponseDonation> | Array<ResponseDistanceDonation>)>;
    /**
     * Get one
     * Lists all information about the donation whose id got provided. This includes the donation's runner's distance ran (if distance donation).
     * @param id
     * @result any
     * @throws ApiError
     */
    static donationControllerGetOne(id: number): Promise<(ResponseDonation | ResponseDistanceDonation)>;
    /**
     * Remove
     * Delete the donation whose id you provided. <br> If no donation with this id exists it will just return 204(no content).
     * @param id
     * @param force
     * @result any
     * @result ResponseEmpty
     * @throws ApiError
     */
    static donationControllerRemove(id: number, force?: boolean): Promise<(ResponseDonation | ResponseDistanceDonation) | ResponseEmpty>;
    /**
     * Post fixed
     * Create a fixed donation (not distance donation - use /donations/distance instead). <br> Please rmemember to provide the donation's donors's id and amount.
     * @param requestBody CreateFixedDonation
     * @result ResponseDonation
     * @throws ApiError
     */
    static donationControllerPostFixed(requestBody?: CreateFixedDonation): Promise<ResponseDonation>;
    /**
     * Post distance
     * Create a distance donation (not fixed donation - use /donations/fixed instead). <br> Please rmemember to provide the donation's donors's and runners ids and amount per distance (kilometer).
     * @param requestBody CreateDistanceDonation
     * @result ResponseDistanceDonation
     * @throws ApiError
     */
    static donationControllerPostDistance(requestBody?: CreateDistanceDonation): Promise<ResponseDistanceDonation>;
    /**
     * Put fixed
     * Update the fixed donation (not distance donation - use /donations/distance instead) whose id you provided. <br> Please remember that ids can't be changed and amounts must be positive.
     * @param id
     * @param requestBody UpdateFixedDonation
     * @result ResponseDonation
     * @throws ApiError
     */
    static donationControllerPutFixed(id: number, requestBody?: UpdateFixedDonation): Promise<ResponseDonation>;
    /**
     * Put distance
     * Update the distance donation (not fixed donation - use /donations/fixed instead) whose id you provided. <br> Please remember that ids can't be changed and amountPerDistance must be positive.
     * @param id
     * @param requestBody UpdateDistanceDonation
     * @result ResponseDonation
     * @throws ApiError
     */
    static donationControllerPutDistance(id: number, requestBody?: UpdateDistanceDonation): Promise<ResponseDonation>;
}
