/**
 * CyberSource Merged Spec
 * All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html
 *
 * OpenAPI spec version: 0.0.1
 *
 *
 * NOTE: This class is auto generated by the swagger code generator program.
 * https://github.com/swagger-api/swagger-codegen.git
 * Do not edit the class manually.
 */
import { AxiosResponse, AxiosInstance, AxiosRequestConfig } from 'axios';
import { Configuration } from '../configuration';
import { RequestArgs, BaseAPI } from '../base';
import { KeyssymDeletesBody } from '../models';
import { KeyssymVerifiBody } from '../models';
import { KmsV2KeysSymDeletesPost200Response } from '../models';
import { KmsV2KeysSymGet200Response } from '../models';
import { KmsV2KeysSymPost201Response } from '../models';
import { V2KeyssymBody } from '../models';
/**
 * SymmetricKeyManagementApi - axios parameter creator
 * @export
 */
export declare const SymmetricKeyManagementApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     * Create one or more Shared-Secret Keys
     * @summary Create Shared-Secret Keys
     * @param {V2KeyssymBody} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createV2SharedSecretKeys: (body: V2KeyssymBody, options?: AxiosRequestConfig & Configuration) => Promise<RequestArgs>;
    /**
     * Create one or more Shared-Secret Keys as per Verifi spec with 32 chars, store digest algo during key generation.
     * @summary Create Shared-Secret Keys as per verifi spec
     * @param {KeyssymVerifiBody} body
     * @param {string} vIcDomain domain
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createV2SharedSecretKeysVerifi: (body: KeyssymVerifiBody, vIcDomain: string, options?: AxiosRequestConfig & Configuration) => Promise<RequestArgs>;
    /**
     * 'Delete one or more Symmetric keys'
     * @summary Delete one or more Symmetric keys
     * @param {KeyssymDeletesBody} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteBulkSymmetricKeys: (body: KeyssymDeletesBody, options?: AxiosRequestConfig & Configuration) => Promise<RequestArgs>;
    /**
     * Retrieves keys details by providing the key id.
     * @summary Retrieves shared secret key details
     * @param {string} keyId Key ID.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getKeyDetails: (keyId: string, options?: AxiosRequestConfig & Configuration) => Promise<RequestArgs>;
};
/**
 * SymmetricKeyManagementApi - functional programming interface
 * @export
 */
export declare const SymmetricKeyManagementApiFp: (configuration?: Configuration) => {
    /**
     * Create one or more Shared-Secret Keys
     * @summary Create Shared-Secret Keys
     * @param {V2KeyssymBody} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createV2SharedSecretKeys(body: V2KeyssymBody, options?: AxiosRequestConfig & Configuration): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<KmsV2KeysSymPost201Response>>>;
    /**
     * Create one or more Shared-Secret Keys as per Verifi spec with 32 chars, store digest algo during key generation.
     * @summary Create Shared-Secret Keys as per verifi spec
     * @param {KeyssymVerifiBody} body
     * @param {string} vIcDomain domain
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createV2SharedSecretKeysVerifi(body: KeyssymVerifiBody, vIcDomain: string, options?: AxiosRequestConfig & Configuration): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<KmsV2KeysSymPost201Response>>>;
    /**
     * 'Delete one or more Symmetric keys'
     * @summary Delete one or more Symmetric keys
     * @param {KeyssymDeletesBody} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteBulkSymmetricKeys(body: KeyssymDeletesBody, options?: AxiosRequestConfig & Configuration): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<KmsV2KeysSymDeletesPost200Response>>>;
    /**
     * Retrieves keys details by providing the key id.
     * @summary Retrieves shared secret key details
     * @param {string} keyId Key ID.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getKeyDetails(keyId: string, options?: AxiosRequestConfig & Configuration): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<KmsV2KeysSymGet200Response>>>;
};
/**
 * SymmetricKeyManagementApi - factory interface
 * @export
 */
export declare const SymmetricKeyManagementApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     * Create one or more Shared-Secret Keys
     * @summary Create Shared-Secret Keys
     * @param {V2KeyssymBody} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createV2SharedSecretKeys(body: V2KeyssymBody, options?: AxiosRequestConfig & Configuration): Promise<AxiosResponse<KmsV2KeysSymPost201Response>>;
    /**
     * Create one or more Shared-Secret Keys as per Verifi spec with 32 chars, store digest algo during key generation.
     * @summary Create Shared-Secret Keys as per verifi spec
     * @param {KeyssymVerifiBody} body
     * @param {string} vIcDomain domain
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createV2SharedSecretKeysVerifi(body: KeyssymVerifiBody, vIcDomain: string, options?: AxiosRequestConfig & Configuration): Promise<AxiosResponse<KmsV2KeysSymPost201Response>>;
    /**
     * 'Delete one or more Symmetric keys'
     * @summary Delete one or more Symmetric keys
     * @param {KeyssymDeletesBody} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteBulkSymmetricKeys(body: KeyssymDeletesBody, options?: AxiosRequestConfig & Configuration): Promise<AxiosResponse<KmsV2KeysSymDeletesPost200Response>>;
    /**
     * Retrieves keys details by providing the key id.
     * @summary Retrieves shared secret key details
     * @param {string} keyId Key ID.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getKeyDetails(keyId: string, options?: AxiosRequestConfig & Configuration): Promise<AxiosResponse<KmsV2KeysSymGet200Response>>;
};
/**
 * SymmetricKeyManagementApi - object-oriented interface
 * @export
 * @class SymmetricKeyManagementApi
 * @extends {BaseAPI}
 */
export declare class SymmetricKeyManagementApi extends BaseAPI {
    /**
     * Create one or more Shared-Secret Keys
     * @summary Create Shared-Secret Keys
     * @param {V2KeyssymBody} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SymmetricKeyManagementApi
     */
    createV2SharedSecretKeys(body: V2KeyssymBody, options?: AxiosRequestConfig & Configuration): Promise<AxiosResponse<KmsV2KeysSymPost201Response>>;
    /**
     * Create one or more Shared-Secret Keys as per Verifi spec with 32 chars, store digest algo during key generation.
     * @summary Create Shared-Secret Keys as per verifi spec
     * @param {KeyssymVerifiBody} body
     * @param {string} vIcDomain domain
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SymmetricKeyManagementApi
     */
    createV2SharedSecretKeysVerifi(body: KeyssymVerifiBody, vIcDomain: string, options?: AxiosRequestConfig & Configuration): Promise<AxiosResponse<KmsV2KeysSymPost201Response>>;
    /**
     * 'Delete one or more Symmetric keys'
     * @summary Delete one or more Symmetric keys
     * @param {KeyssymDeletesBody} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SymmetricKeyManagementApi
     */
    deleteBulkSymmetricKeys(body: KeyssymDeletesBody, options?: AxiosRequestConfig & Configuration): Promise<AxiosResponse<KmsV2KeysSymDeletesPost200Response>>;
    /**
     * Retrieves keys details by providing the key id.
     * @summary Retrieves shared secret key details
     * @param {string} keyId Key ID.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SymmetricKeyManagementApi
     */
    getKeyDetails(keyId: string, options?: AxiosRequestConfig & Configuration): Promise<AxiosResponse<KmsV2KeysSymGet200Response>>;
}
