/**
 * Shell EVLib
 *
 * This file was automatically generated by APIMATIC v3.0 ( https://www.apimatic.io ).
 */
import { HttpClientOptions } from './clientAdapter';
import { ClientCredentialsAuthManager } from './clientCredentialsAuthManager';
import { OAuthToken } from './models/oAuthToken';
/** An interface for all configuration parameters required by the SDK. */
export interface Configuration {
    timeout: number;
    environment: Environment;
    /** @deprecated use clientCredentialsAuthCredentials field instead */
    oAuthClientId?: string;
    /** @deprecated use clientCredentialsAuthCredentials field instead */
    oAuthClientSecret?: string;
    /** @deprecated use clientCredentialsAuthCredentials field instead */
    oAuthToken?: OAuthToken;
    clientCredentialsAuthCredentials?: {
        oAuthClientId: string;
        oAuthClientSecret: string;
        oAuthToken?: OAuthToken;
        oAuthTokenProvider?: (lastOAuthToken: OAuthToken | undefined, authManager: ClientCredentialsAuthManager) => Promise<OAuthToken>;
        oAuthOnTokenUpdate?: (token: OAuthToken) => void;
        oAuthClockSkew?: number;
    };
    httpClientOptions?: Partial<HttpClientOptions>;
    unstable_httpClientOptions?: any;
}
/** Environments available for API */
export declare enum Environment {
    Production = "production",
    Environment2 = "environment2"
}
