/**
 * Shell Data & Reporting APIsLib
 *
 * This file was automatically generated by APIMATIC v3.0 ( https://www.apimatic.io ).
 */
import { BearerTokenManager } from './bearerTokenManager';
import { HttpClientOptions } from './clientAdapter';
import { OAuthToken } from './models/oAuthToken';
/** An interface for all configuration parameters required by the SDK. */
export interface Configuration {
    timeout: number;
    environment: Environment;
    basicAuthCredentials?: {
        username: string;
        password: string;
    };
    bearerTokenCredentials?: {
        oAuthClientId: string;
        oAuthClientSecret: string;
        oAuthToken?: OAuthToken;
        oAuthTokenProvider?: (lastOAuthToken: OAuthToken | undefined, authManager: BearerTokenManager) => Promise<OAuthToken>;
        oAuthOnTokenUpdate?: (token: OAuthToken) => void;
        oAuthClockSkew?: number;
    };
    httpClientOptions?: Partial<HttpClientOptions>;
    unstable_httpClientOptions?: any;
}
/** Environments available for API */
export declare enum Environment {
    SIT = "SIT",
    Production = "Production"
}
