import { ProjectPlan } from '@fschopp/project-planning-for-you-track'; import { Plain } from '../../utils/s'; import { AlertsCtrl } from '../alerts/alerts-ctrl'; import { SettingsCtrl } from '../settings/settings-ctrl'; import { Settings } from '../settings/settings-model'; import { YouTrackMetadata } from '../you-track/you-track-model'; import { App } from './app-model'; export declare enum Action { CONNECT = "connect", BUILD_PLAN = "build", UPDATE_PREDICTION = "update", STOP = "stop", NOTHING = "nothing" } /** * Project plan together the settings used to compute it. */ export interface ExtendedProjectPlan { /** * The project plan. */ plan: ProjectPlan; /** * The settings from the user interface. */ settings: Plain; /** * Time when the YouTrack activity log had been completely received and processed. */ youTrackTimestamp: number; /** * Mapping from contributor IDs in {@link plan} to the real name ({@link ExternalContributor.name}). * * This map only includes IDs for external contributors. IDs not in this map are YouTrack user IDs. */ idToExternalContributorName: Map; } /** * Controller for {@link App}. */ export declare class AppCtrl { readonly app: App; readonly appName: string; /** * Signal carrying the kind of action triggered by the button in the nav bar. */ readonly action: () => Action; /** * Signal carrying the last YouTrack metadata. */ readonly youTrackMetadata: () => YouTrackMetadata | undefined; /** * Signal carrying the progress of the current action, or undefined if there is no current action. */ readonly progress: () => number | undefined; /** * Signal carrying the latest project plan and the settings used to compute it, or undefined if no project plan was * computed yet. * * The settings are the result of {@link toNormalizedPlainSettings}(); that is, they are normalized. */ readonly extendedProjectPlan: () => ExtendedProjectPlan | undefined; /** * The settings controller. */ readonly settingsCtrl: SettingsCtrl; /** * The alert controller for displaying alerts to the user. */ readonly alertCtrl: AlertsCtrl; private readonly progress_; private readonly extendedProjectPlan_; private reconstructProjectPlanTimestamp; private reconstructProjectPlanResult; private readonly connectSignal_; private readonly youTrackCtrl_; private readonly youTrackMetadata_; /** * Constructor. * * @param app the non-transient application state * @param appName the name of the application */ constructor(app: App, appName?: string); private showErrorIfFailure; defaultAction(): void; private connect; private buildPlan; private updatePrediction; } //# sourceMappingURL=app-ctrl.d.ts.map