import { addLog, BalloonOptions, clearMessages, LogType, setAllowBalloonMessages, setAllowOverlayMessages } from "./debug_overlay.js";

export {
    clearMessages as clearBalloonMessages,
    /** @deprecated use clearBalloonMessages instead */
    clearMessages as clearOverlayMessages,
    LogType,
    setAllowBalloonMessages,
    // eslint-disable-next-line @typescript-eslint/no-deprecated
    setAllowOverlayMessages,
};
export { isDevEnvironment, setDevEnvironment } from "./debug_environment.js";
export { enableSpatialConsole } from "./debug_spatial_console.js";


/** Displays a debug message on screen for a certain amount of time */
export function showBalloonMessage(text: string, options?: Partial<BalloonOptions>): void {
    addLog(options?.type ?? LogType.Log, text, options);
}

/** Displays a warning message on screen for a certain amount of time */
export function showBalloonWarning(text: string, options?: Partial<BalloonOptions>): void {
    showBalloonMessage(text, { ...options, type: LogType.Warn });
}
/** Displays an error message on screen for a certain amount of time */
export function showBalloonError(text: string, options?: Partial<BalloonOptions>): void {
    showBalloonMessage(text, { ...options, type: LogType.Error });
}