import { HttpParams } from '@angular/common/http';
export interface ConfigurationParameters {
    /**
     * the path that will be used to talk to the ordercloud api
     * this defaults to https://api.ordercloud.io/v1
     *
     * it may be useful to change this to interact with different
     * environments or different versions of the api
     *
     * at the time of writing there is only one version of the api
     *
     */
    basePath?: string;
    /**
     * the path that will be used to authenticate to the ordercloud api
     * this defaults to https://auth.ordercloud.io/oauth/token
     *
     * if may be useful to change this to interact with different
     * environments
     *
     */
    authPath?: string;
    /**
     * this cookie prefix will be added to the name of any tokens created
     * in the sdk check out the token service for all methods
     */
    cookiePrefix?: string;
}
export declare class Configuration {
    basePath?: string;
    authPath?: string;
    cookiePrefix?: string;
    constructor(configurationParameters?: ConfigurationParameters);
    /**
     * Unwrap filters object - Swagger doesn't support free-form query parameters
     * out of the box so we need to manually unwrap filters ourselves
     */
    unwrapFilters(filters: any, queryParameters: HttpParams, operationId: string): HttpParams;
    /**
     * Select the correct content-type to use for a request.
     * Uses {@link Configuration#isJsonMime} to determine the correct content-type.
     * If no content type is found return the first found type if the contentTypes is not empty
     * @param {string[]} contentTypes - the array of content types that are available for selection
     * @returns {string} the selected content-type or <code>undefined</code> if no selection could be made.
     */
    selectHeaderContentType(contentTypes: string[]): string | undefined;
    /**
     * Select the correct accept content-type to use for a request.
     * Uses {@link Configuration#isJsonMime} to determine the correct accept content-type.
     * If no content type is found return the first found type if the contentTypes is not empty
     * @param {string[]} accepts - the array of content types that are available for selection.
     * @returns {string} the selected content-type or <code>undefined</code> if no selection could be made.
     */
    selectHeaderAccept(accepts: string[]): string | undefined;
    /**
     * 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 {string} mime - MIME (Multipurpose Internet Mail Extensions)
     * @return {boolean} True if the given MIME is JSON, false otherwise.
     */
    isJsonMime(mime: string): boolean;
}
