import { ModuleMetadata, Type } from '@nestjs/common/interfaces';
export interface ConfigurationParameters {
    apiKeys?: {
        [key: string]: string;
    };
    username?: string;
    password?: string;
    accessToken?: string | (() => string);
    basePath?: string;
    withCredentials?: boolean;
}
export declare class Configuration {
    apiKeys?: {
        [key: string]: string;
    };
    username?: string;
    password?: string;
    accessToken?: string | (() => string);
    basePath?: string;
    withCredentials?: boolean;
    constructor(configurationParameters?: ConfigurationParameters);
    selectHeaderContentType(contentTypes: string[]): string | undefined;
    selectHeaderAccept(accepts: string[]): string | undefined;
    isJsonMime(mime: string): boolean;
}
export interface ConfigurationFactory {
    createConfiguration(): Promise<Configuration> | Configuration;
}
export interface AsyncConfiguration extends Pick<ModuleMetadata, 'imports'> {
    useExisting?: Type<ConfigurationFactory>;
    useClass?: Type<ConfigurationFactory>;
    useFactory?: (...args: any[]) => Promise<Configuration> | Configuration;
    inject?: any[];
}
