import Service from "../../service";
import Client from "../../client";
import { IRequest } from "../../typings/requestOptions";
import { Disbursement } from "../../typings/capital/models";
import { DisbursementInfoUpdate } from "../../typings/capital/models";
import { Disbursements } from "../../typings/capital/models";
import { Grant } from "../../typings/capital/models";
import { GrantInfo } from "../../typings/capital/models";
import { Grants } from "../../typings/capital/models";
/**
 * API handler for GrantsApi
 */
export declare class GrantsApi extends Service {
    private readonly API_BASEPATH;
    private baseUrl;
    constructor(client: Client);
    /**
    * @summary Get all the disbursements of a grant
    * @param grantId {@link string } The unique identifier of the grant reference.
    * @param requestOptions {@link IRequest.Options }
    * @return {@link Disbursements }
    */
    getAllGrantDisbursements(grantId: string, requestOptions?: IRequest.Options): Promise<Disbursements>;
    /**
    * @summary Get all the grants of an account holder
    * @param requestOptions {@link IRequest.Options }
    * @param counterpartyAccountHolderId {@link string } (Required) The unique identifier of the account holder that received the grants.
    * @return {@link Grants }
    */
    getAllGrants(counterpartyAccountHolderId: string, requestOptions?: IRequest.Options): Promise<Grants>;
    /**
    * @summary Get the details of a grant
    * @param grantId {@link string } The unique identifier of the grant reference.
    * @param requestOptions {@link IRequest.Options }
    * @return {@link Grant }
    */
    getGrant(grantId: string, requestOptions?: IRequest.Options): Promise<Grant>;
    /**
    * @summary Get disbursement details
    * @param grantId {@link string } The unique identifier of the grant reference.
    * @param disbursementId {@link string } The unique identifier of the disbursement.
    * @param requestOptions {@link IRequest.Options }
    * @return {@link Disbursement }
    */
    getGrantDisbursement(grantId: string, disbursementId: string, requestOptions?: IRequest.Options): Promise<Disbursement>;
    /**
    * @summary Make a request for a grant
    * @param grantInfo {@link GrantInfo }
    * @param requestOptions {@link IRequest.Options }
    * @return {@link Grant }
    */
    requestGrant(grantInfo: GrantInfo, requestOptions?: IRequest.Options): Promise<Grant>;
    /**
    * @summary Update the repayment configuration of a disbursement
    * @param grantId {@link string } The unique identifier of the grant reference.
    * @param disbursementId {@link string } The unique identifier of the disbursement.
    * @param disbursementInfoUpdate {@link DisbursementInfoUpdate }
    * @param requestOptions {@link IRequest.Options }
    * @return {@link Disbursement }
    */
    updateGrantDisbursement(grantId: string, disbursementId: string, disbursementInfoUpdate: DisbursementInfoUpdate, requestOptions?: IRequest.Options): Promise<Disbursement>;
}
