import Service from "../../service";
import { ApiCredential } from '../../typings/management/models';
import { CreateApiCredentialResponse } from '../../typings/management/models';
import { CreateMerchantApiCredentialRequest } from '../../typings/management/models';
import { ListMerchantApiCredentialsResponse } from '../../typings/management/models';
import { UpdateMerchantApiCredentialRequest } from '../../typings/management/models';
import { IRequest } from "../../typings/requestOptions";
export default class APICredentialsMerchantLevelApi extends Service {
    /**
     * @summary Get a list of API credentials
     * @param merchantId The unique identifier of the merchant account.
     * @param pageNumber The number of the page to fetch.
     * @param pageSize The number of items to have on a page, maximum 100. The default is 10 items on a page.
     */
    listApiCredentials(merchantId: string, requestOptions?: IRequest.Options): Promise<ListMerchantApiCredentialsResponse>;
    /**
     * @summary Get an API credential
     * @param merchantId The unique identifier of the merchant account.
     * @param apiCredentialId Unique identifier of the API credential.
     */
    getApiCredential(merchantId: string, apiCredentialId: string, requestOptions?: IRequest.Options): Promise<ApiCredential>;
    /**
     * @summary Update an API credential
     * @param merchantId The unique identifier of the merchant account.
     * @param apiCredentialId Unique identifier of the API credential.
     * @param updateMerchantApiCredentialRequest
     */
    updateApiCredential(merchantId: string, apiCredentialId: string, updateMerchantApiCredentialRequest: UpdateMerchantApiCredentialRequest, requestOptions?: IRequest.Options): Promise<ApiCredential>;
    /**
     * @summary Create an API credential
     * @param merchantId The unique identifier of the merchant account.
     * @param createMerchantApiCredentialRequest
     */
    createApiCredential(merchantId: string, createMerchantApiCredentialRequest: CreateMerchantApiCredentialRequest, requestOptions?: IRequest.Options): Promise<CreateApiCredentialResponse>;
}
