import { TemplateResult, CSSResult } from 'lit';
import { IConfigEnvironment, IEnvConfig, IConfigInit, DataSourceType, ConfigInitReason } from '../../lib/config/Config.js';
import { IRoute, IRouteResult } from '../../mixins/RouteMixin.js';
import type { AddConfigEnvironmentInit } from '../../bindings/base/ConfigurationBindings.js';
import { ApplicationInit, ApplicationScreen } from '../ApplicationScreen.js';
import '@github/relative-time-element';
import '../../define/dialog/rename-dialog.js';
import '../../define/dialog/confirm-delete-dialog.js';
import '../../define/ui/ui-icon.js';
import '../../define/ui/ui-button.js';
import '../../define/ui/ui-dropdown-list.js';
import '../../define/ui/ui-list.js';
import '../../define/ui/ui-list-item.js';
import '../../define/ui/ui-progress.js';
import '../../define/ui/ui-dialog.js';
import '../../define/ui/ui-radio.js';
import '../../define/ui/ui-text-field.js';
import '../../define/app-navigation-item.js';
export default class StoreConfigScreen extends ApplicationScreen {
    storeChanged(): Promise<void>;
    static get styles(): CSSResult[];
    static get routes(): IRoute[];
    /**
     * The selected store configuration
     */
    protected selected?: string;
    /**
     * Whether the current environment is a default environment
     */
    protected isDefault: boolean;
    /**
     * Flag set when the screen is requesting the list of environments.
     */
    protected loadingEnvironments: boolean;
    /**
     * The list of application environments.
     */
    protected config?: IEnvConfig;
    /**
     * The selected store type.
     */
    storeType?: DataSourceType;
    /**
     * Whether the dialog with the help message is opened.
     */
    infoDialogOpened: boolean;
    /**
     * A network store validation error, if any.
     */
    validationError?: string;
    /**
     * Whether the application is performing the store validation.
     */
    validating: boolean;
    /**
     * Init reason to pass with the create event.
     */
    initReason: ConfigInitReason;
    /**
     * The list of environments to render.
     */
    get environments(): IConfigEnvironment[];
    private firstRunInternal;
    get firstRun(): boolean;
    set firstRun(value: boolean);
    constructor(init: ApplicationInit);
    initialize(): Promise<void>;
    setupFirstRun(): void;
    listEnvironments(): Promise<void>;
    protected resetRoute(): void;
    protected startRoute(): void;
    protected storeRoute(info: IRouteResult): void;
    protected newRoute(): void;
    protected telemetryRoute(info: IRouteResult): void;
    protected handleSourceSelected(e: Event): void;
    protected handleOpenHelp(e: Event): void;
    protected handleDialogClose(): void;
    protected handleContinue(): void;
    protected handleCancel(): void;
    protected createInit(): IConfigInit | undefined;
    protected validateInput(init: IConfigInit): Promise<void>;
    protected storeEnvironment(init: IConfigInit): Promise<void>;
    protected validateNetworkStore(baseUri: string): Promise<string | undefined>;
    protected handleConfigBroadcast(e: MessageEvent): void;
    protected handleEnvironmentUpdated(env: IConfigEnvironment): void;
    protected handleEnvironmentRemoved(id: string): void;
    protected handleDefaultEnvironmentSet(env: IConfigEnvironment): void;
    protected handleEnvironmentAdd(env: IConfigEnvironment, init?: AddConfigEnvironmentInit): void;
    protected revalidateCurrent(id: string): void;
    protected handleOption(e: CustomEvent): void;
    protected renameEnvironment(): void;
    protected deleteEnvironment(): void;
    protected makeEnvironmentDefault(): Promise<void>;
    protected authenticateEnvironment(): Promise<void>;
    protected handleAddNewEnvironment(): void;
    protected storeNavHandler(e: Event): void;
    pageTemplate(): TemplateResult;
    protected renderFirstRun(): TemplateResult;
    protected renderFirstRunHeader(): TemplateResult;
    protected headerTemplate(): TemplateResult;
    protected navigationTemplate(): TemplateResult;
    protected navigationConfigTemplate(envs: IConfigEnvironment[]): TemplateResult;
    protected navigationItemTemplate(item: IConfigEnvironment): TemplateResult;
    protected renderAddButton(): TemplateResult;
    protected mainTemplate(): TemplateResult;
    protected startTemplate(): TemplateResult;
    protected storeTemplate(): TemplateResult;
    protected storeSessionInfo(env: IConfigEnvironment): TemplateResult;
    protected environmentOptionsTemplate(): TemplateResult;
    protected addNewTemplate(): TemplateResult;
    renderIntro(): TemplateResult;
    renderStoreType(): TemplateResult;
    renderStoreUrlInput(): TemplateResult | string;
    renderActions(): TemplateResult;
    renderHelpDialog(): TemplateResult;
    renderValidationError(): TemplateResult | string;
    renderProgress(): TemplateResult | string;
}
//# sourceMappingURL=StoreConfig.screen.d.ts.map