/**
 * 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 { InlineResponse2003 } from '../models';
/**
 * KeyManagementApi - axios parameter creator
 * @export
 */
export declare const KeyManagementApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     * Search one or more Keys
     * @summary Search Keys
     * @param {number} [offset] This allows you to specify the page offset from the resulting list resultset you want the records to be returned
     * @param {number} [limit] This allows you to specify the total number of records to be returned off the resulting list resultset
     * @param {string} [sort] This allows you to specify a comma separated list of fields in the order which the resulting list resultset must be sorted.
     * @param {Array<string>} [organizationIds] List of Orgaization Ids to search. The maximum size of the organization Ids list is 1. The maximum length of Organization Id is 30.
     * @param {Array<string>} [keyIds] List of Key Ids to search. The maximum size of the Key Ids list is 1
     * @param {Array<string>} [keyTypes] Key Type, Possible values -  certificate, password, pgp and scmp_api. When Key Type is provided atleast one more filter needs to be provided
     * @param {Date} [expirationStartDate] Expiry Filter Start Date. When Expiration Date filter is provided, atleast one more filter needs to be provided
     * @param {Date} [expirationEndDate] Expiry Filter End Date. When Expiration Date filter is provided, atleast one more filter needs to be provided
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    searchKeys: (offset?: number, limit?: number, sort?: string, organizationIds?: Array<string>, keyIds?: Array<string>, keyTypes?: Array<string>, expirationStartDate?: Date, expirationEndDate?: Date, options?: AxiosRequestConfig & Configuration) => Promise<RequestArgs>;
};
/**
 * KeyManagementApi - functional programming interface
 * @export
 */
export declare const KeyManagementApiFp: (configuration?: Configuration) => {
    /**
     * Search one or more Keys
     * @summary Search Keys
     * @param {number} [offset] This allows you to specify the page offset from the resulting list resultset you want the records to be returned
     * @param {number} [limit] This allows you to specify the total number of records to be returned off the resulting list resultset
     * @param {string} [sort] This allows you to specify a comma separated list of fields in the order which the resulting list resultset must be sorted.
     * @param {Array<string>} [organizationIds] List of Orgaization Ids to search. The maximum size of the organization Ids list is 1. The maximum length of Organization Id is 30.
     * @param {Array<string>} [keyIds] List of Key Ids to search. The maximum size of the Key Ids list is 1
     * @param {Array<string>} [keyTypes] Key Type, Possible values -  certificate, password, pgp and scmp_api. When Key Type is provided atleast one more filter needs to be provided
     * @param {Date} [expirationStartDate] Expiry Filter Start Date. When Expiration Date filter is provided, atleast one more filter needs to be provided
     * @param {Date} [expirationEndDate] Expiry Filter End Date. When Expiration Date filter is provided, atleast one more filter needs to be provided
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    searchKeys(offset?: number, limit?: number, sort?: string, organizationIds?: Array<string>, keyIds?: Array<string>, keyTypes?: Array<string>, expirationStartDate?: Date, expirationEndDate?: Date, options?: AxiosRequestConfig & Configuration): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<InlineResponse2003>>>;
};
/**
 * KeyManagementApi - factory interface
 * @export
 */
export declare const KeyManagementApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     * Search one or more Keys
     * @summary Search Keys
     * @param {number} [offset] This allows you to specify the page offset from the resulting list resultset you want the records to be returned
     * @param {number} [limit] This allows you to specify the total number of records to be returned off the resulting list resultset
     * @param {string} [sort] This allows you to specify a comma separated list of fields in the order which the resulting list resultset must be sorted.
     * @param {Array<string>} [organizationIds] List of Orgaization Ids to search. The maximum size of the organization Ids list is 1. The maximum length of Organization Id is 30.
     * @param {Array<string>} [keyIds] List of Key Ids to search. The maximum size of the Key Ids list is 1
     * @param {Array<string>} [keyTypes] Key Type, Possible values -  certificate, password, pgp and scmp_api. When Key Type is provided atleast one more filter needs to be provided
     * @param {Date} [expirationStartDate] Expiry Filter Start Date. When Expiration Date filter is provided, atleast one more filter needs to be provided
     * @param {Date} [expirationEndDate] Expiry Filter End Date. When Expiration Date filter is provided, atleast one more filter needs to be provided
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    searchKeys(offset?: number, limit?: number, sort?: string, organizationIds?: Array<string>, keyIds?: Array<string>, keyTypes?: Array<string>, expirationStartDate?: Date, expirationEndDate?: Date, options?: AxiosRequestConfig & Configuration): Promise<AxiosResponse<InlineResponse2003>>;
};
/**
 * KeyManagementApi - object-oriented interface
 * @export
 * @class KeyManagementApi
 * @extends {BaseAPI}
 */
export declare class KeyManagementApi extends BaseAPI {
    /**
     * Search one or more Keys
     * @summary Search Keys
     * @param {number} [offset] This allows you to specify the page offset from the resulting list resultset you want the records to be returned
     * @param {number} [limit] This allows you to specify the total number of records to be returned off the resulting list resultset
     * @param {string} [sort] This allows you to specify a comma separated list of fields in the order which the resulting list resultset must be sorted.
     * @param {Array<string>} [organizationIds] List of Orgaization Ids to search. The maximum size of the organization Ids list is 1. The maximum length of Organization Id is 30.
     * @param {Array<string>} [keyIds] List of Key Ids to search. The maximum size of the Key Ids list is 1
     * @param {Array<string>} [keyTypes] Key Type, Possible values -  certificate, password, pgp and scmp_api. When Key Type is provided atleast one more filter needs to be provided
     * @param {Date} [expirationStartDate] Expiry Filter Start Date. When Expiration Date filter is provided, atleast one more filter needs to be provided
     * @param {Date} [expirationEndDate] Expiry Filter End Date. When Expiration Date filter is provided, atleast one more filter needs to be provided
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof KeyManagementApi
     */
    searchKeys(offset?: number, limit?: number, sort?: string, organizationIds?: Array<string>, keyIds?: Array<string>, keyTypes?: Array<string>, expirationStartDate?: Date, expirationEndDate?: Date, options?: AxiosRequestConfig & Configuration): Promise<AxiosResponse<InlineResponse2003>>;
}
