import { AxiosInstance } from "axios"; import { IAxiosRetryConfig } from "axios-retry"; export interface ConfigurationParameters { baseurl?: string; nermBaseurl?: string; clientId?: string; clientSecret?: string; accessToken?: string; serverIndex?: number; tokenUrl?: string; consumerIdentifier?: string; consumerVersion?: string; } export interface Configuration { activeenvironment?: string; authtype?: string; customexporttemplatespath?: string; customsearchtemplatespath?: string; debug?: boolean; experimental?: boolean; environments?: { [key: string]: Environment; }; serverIndex?: number; } export interface Environment { baseurl: string; nermBaseurl: string; pat: Pat; tenanturl: string; } export interface Pat { clientid: string; clientsecret: string; } export declare class Configuration { /** * parameter for apiKey security * @param name security name * @memberof Configuration */ apiKey?: string | Promise | ((name: string) => string) | ((name: string) => Promise); /** * parameter for clientId * * @type {string} * @memberof Configuration */ clientId?: string; /** * parameter for clientSecret * * @type {string} * @memberof Configuration */ clientSecret?: string; /** * parameter for clientSecret * * @type {string} * @memberof Configuration */ /** * parameter for oauth2 security * @param name security name * @param scopes oauth2 scope * @memberof Configuration */ accessToken?: string | Promise | ((name?: string, scopes?: string[]) => string) | ((name?: string, scopes?: string[]) => Promise); /** * parameter for clientId * * @type {string} * @memberof Configuration */ tokenUrl?: string; /** * parameter for basic security * * @type {string} * @memberof Configuration */ username?: string; /** * parameter for basic security * * @type {string} * @memberof Configuration */ password?: string; /** * override base path * * @type {string} * @memberof Configuration */ basePath?: string; /** * override base path for NERM * * @type {string} * @memberof Configuration */ nermBasePath?: string; /** * base options for axios calls * * @type {any} * @memberof Configuration */ serverIndex?: number; /** * base options for axios calls * * @type {any} * @memberof Configuration */ baseOptions?: any; /** * The FormData constructor that will be used to create multipart form data * requests. You can inject this here so that execution environments that * do not support the FormData class can still run the generated client. * * @type {new () => FormData} */ formDataCtor?: new () => any; /** * axios retry configuration * * @type {IAxiosRetryConfig} * @memberof Configuration */ retriesConfig?: IAxiosRetryConfig; /** * Shared axios instance pre-configured with retry logic. * All API classes use this instance by default. * * @type {AxiosInstance} * @memberof Configuration */ axiosInstance: AxiosInstance; /** * Optional identifier for the application consuming this SDK (e.g. "sailpoint-cli"). * * @type {string} * @memberof Configuration */ consumerIdentifier?: string; /** * Optional version of the consuming application (e.g. "1.2.3"). * * @type {string} * @memberof Configuration */ consumerVersion?: string; constructor(param?: ConfigurationParameters); private getHomeParams; private getLocalParams; private getEnvParams; private getParams; private getAccessToken; /** * Check if the given MIME is a JSON MIME. * JSON MIME examples: * application/json * application/json; charset=UTF8 * APPLICATION/JSON * application/vnd.company+json * @param mime - MIME (Multipurpose Internet Mail Extensions) * @return True if the given MIME is JSON, false otherwise. */ isJsonMime(mime: string): boolean; }