import { IAnnotoApi, IConfig } from '@annoto/widget-api';
import { AssetLoader } from './asset-loader';
import { AuthProviderInterface, WidgetServiceInterface } from './interfaces';
import { LoggerInterface } from '@annoto/web-sdk';
export * from './interfaces';
export declare class WidgetService implements WidgetServiceInterface {
    playerElement: string | HTMLElement;
    element: HTMLElement;
    assetLoader: AssetLoader;
    private config;
    private api;
    private booted;
    private closed;
    private initialized;
    private initPromise;
    private logger;
    private authProvider;
    private hasServices;
    constructor();
    get isBooted(): boolean;
    get isReady(): boolean;
    setServices(logger: LoggerInterface, authProvider?: AuthProviderInterface): void;
    setup(config?: IConfig, bootstrapUrl?: string): Promise<void>;
    getApi(): Promise<IAnnotoApi>;
    load(playerElement: string | HTMLElement, host?: HTMLElement): Promise<void>;
    destroy(): Promise<void>;
    private login;
    private logout;
    private ssoAuth;
    private loadOrBoot;
    private mergeOptions;
}
