import { TokenGenerator } from './utils/token.generator';
export declare enum LogLevel {
    Trace = "trace",
    Debug = "debug",
    Info = "info",
    Warn = "warn",
    Error = "error"
}
export interface Options {
    logLevel: string;
}
export interface ConfigInfo {
    portalUrl?: string;
    itemId: string;
    appId: string;
    popup?: boolean;
}
export interface ConfigInfoOverride extends ConfigInfo {
    serverUrl?: string;
    agsServerUrl?: string;
    usePortalToken?: boolean;
}
export interface Manager {
    initialize(config: ConfigInfo, tokenGenerator: TokenGenerator): any;
}
export declare class ManagerFactory {
    private static managerMap;
    private static tokenGeneratorMap;
    private constructor();
    static setOptions(options: Options): void;
    private static setLogLevel;
    private static getTokenGenerator;
    static getManager<T extends Manager>(managerType: new () => T, config: ConfigInfo): Promise<T>;
    private static clearManagers;
    private static getUnderlyingManager;
}
