export type ExitGuardCanDispose = () => Promise<boolean>;
export declare abstract class ExitGuardManager {
    abstract register(id: string, canDispose: ExitGuardCanDispose): void;
    abstract unregister(id: string): void;
    abstract canExit(): Promise<boolean>;
}
export declare class ExitGuardManagerImpl implements ExitGuardManager {
    private guards;
    register(id: string, canDispose: ExitGuardCanDispose): void;
    unregister(id: string): void;
    canExit(): Promise<boolean>;
}
