import { TemplateResult, CSSResult } from 'lit';
import { ApplicationInit, ApplicationScreen } from '../ApplicationScreen.js';
import { IConfigEnvironment } from '../../lib/config/Config.js';
import '../../define/ui/ui-progress.js';
import '../../define/ui/ui-button.js';
/**
 * When the user is redirected here it means that the user provided a configuration
 * that requires user authentication.
 */
export default class AuthenticateScreen extends ApplicationScreen {
    storeChanged(): Promise<void>;
    static get styles(): CSSResult[];
    environmentError?: string;
    environment?: IConfigEnvironment;
    /**
     * Whether the application is performing the store validation.
     */
    authenticating: boolean;
    isSessionStore: boolean;
    constructor(init: ApplicationInit);
    initialize(): Promise<void>;
    readEnvironment(): Promise<IConfigEnvironment | undefined>;
    protected handleAuth(): Promise<void>;
    protected handleBack(): void;
    protected authenticate(env: IConfigEnvironment): Promise<void>;
    /**
     * This to be used by the child classes to render page template.
     * @returns Application page template
     */
    pageTemplate(): TemplateResult;
    initErrorTemplate(): TemplateResult;
    contentTemplate(): TemplateResult;
    renderTitle(): TemplateResult;
    renderIntroMessage(): TemplateResult;
    actionTemplate(): TemplateResult;
    infoTemplate(): TemplateResult;
    progressTemplate(): TemplateResult | string;
}
//# sourceMappingURL=Authenticate.screen.d.ts.map