import Service from "../../service";
import Client from "../../client";
import { IRequest } from "../../typings/requestOptions";
import { StoredValueBalanceCheckRequest } from "../../typings/storedValue/models";
import { StoredValueBalanceCheckResponse } from "../../typings/storedValue/models";
import { StoredValueBalanceMergeRequest } from "../../typings/storedValue/models";
import { StoredValueBalanceMergeResponse } from "../../typings/storedValue/models";
import { StoredValueIssueRequest } from "../../typings/storedValue/models";
import { StoredValueIssueResponse } from "../../typings/storedValue/models";
import { StoredValueLoadRequest } from "../../typings/storedValue/models";
import { StoredValueLoadResponse } from "../../typings/storedValue/models";
import { StoredValueStatusChangeRequest } from "../../typings/storedValue/models";
import { StoredValueStatusChangeResponse } from "../../typings/storedValue/models";
import { StoredValueVoidRequest } from "../../typings/storedValue/models";
import { StoredValueVoidResponse } from "../../typings/storedValue/models";
/**
 * API handler for StoredValueApi
 */
export declare class StoredValueApi extends Service {
    private readonly API_BASEPATH;
    private baseUrl;
    constructor(client: Client);
    /**
    * @summary Changes the status of the payment method.
    * @param storedValueStatusChangeRequest {@link StoredValueStatusChangeRequest }
    * @param requestOptions {@link IRequest.Options }
    * @return {@link StoredValueStatusChangeResponse }
    */
    changeStatus(storedValueStatusChangeRequest: StoredValueStatusChangeRequest, requestOptions?: IRequest.Options): Promise<StoredValueStatusChangeResponse>;
    /**
    * @summary Checks the balance.
    * @param storedValueBalanceCheckRequest {@link StoredValueBalanceCheckRequest }
    * @param requestOptions {@link IRequest.Options }
    * @return {@link StoredValueBalanceCheckResponse }
    */
    checkBalance(storedValueBalanceCheckRequest: StoredValueBalanceCheckRequest, requestOptions?: IRequest.Options): Promise<StoredValueBalanceCheckResponse>;
    /**
    * @summary Issues a new card.
    * @param storedValueIssueRequest {@link StoredValueIssueRequest }
    * @param requestOptions {@link IRequest.Options }
    * @return {@link StoredValueIssueResponse }
    */
    issue(storedValueIssueRequest: StoredValueIssueRequest, requestOptions?: IRequest.Options): Promise<StoredValueIssueResponse>;
    /**
    * @summary Loads the payment method.
    * @param storedValueLoadRequest {@link StoredValueLoadRequest }
    * @param requestOptions {@link IRequest.Options }
    * @return {@link StoredValueLoadResponse }
    */
    load(storedValueLoadRequest: StoredValueLoadRequest, requestOptions?: IRequest.Options): Promise<StoredValueLoadResponse>;
    /**
    * @summary Merge the balance of two cards.
    * @param storedValueBalanceMergeRequest {@link StoredValueBalanceMergeRequest }
    * @param requestOptions {@link IRequest.Options }
    * @return {@link StoredValueBalanceMergeResponse }
    */
    mergeBalance(storedValueBalanceMergeRequest: StoredValueBalanceMergeRequest, requestOptions?: IRequest.Options): Promise<StoredValueBalanceMergeResponse>;
    /**
    * @summary Voids a transaction.
    * @param storedValueVoidRequest {@link StoredValueVoidRequest }
    * @param requestOptions {@link IRequest.Options }
    * @return {@link StoredValueVoidResponse }
    */
    voidTransaction(storedValueVoidRequest: StoredValueVoidRequest, requestOptions?: IRequest.Options): Promise<StoredValueVoidResponse>;
}
