import { Event } from "../../../../base/common/event.js";
import { StartupKind, LifecyclePhase, BeforeShutdownEvent, BeforeShutdownErrorEvent, WillShutdownEvent } from "./lifecycle.js";
export declare const ILifecycleService: import("../../../../platform/instantiation/common/instantiation.js").ServiceIdentifier<ILifecycleService>;
export interface ILifecycleService {
    readonly _serviceBrand: undefined;
    readonly startupKind: StartupKind;
    phase: LifecyclePhase;
    readonly onBeforeShutdown: Event<BeforeShutdownEvent>;
    readonly onShutdownVeto: Event<void>;
    readonly onBeforeShutdownError: Event<BeforeShutdownErrorEvent>;
    readonly onWillShutdown: Event<WillShutdownEvent>;
    readonly willShutdown: boolean;
    readonly onDidShutdown: Event<void>;
    when(phase: LifecyclePhase): Promise<void>;
    shutdown(): Promise<void>;
}
