import { Event, IValueWithChangeEvent } from '../../../base/common/event.js'; import { IDisposable } from '../../../base/common/lifecycle.js'; export declare const IAccessibilitySignalService: import("../../instantiation/common/instantiation.js").ServiceIdentifier; export interface IAccessibilitySignalService { readonly _serviceBrand: undefined; playSignal(signal: AccessibilitySignal, options?: IAccessbilitySignalOptions): Promise; playSignals(signals: (AccessibilitySignal | { signal: AccessibilitySignal; source: string; })[]): Promise; playSignalLoop(signal: AccessibilitySignal, milliseconds: number): IDisposable; getEnabledState(signal: AccessibilitySignal, userGesture: boolean, modality?: AccessibilityModality | undefined): IValueWithChangeEvent; getDelayMs(signal: AccessibilitySignal, modality: AccessibilityModality, mode: 'line' | 'positional'): number; /** * Avoid this method and prefer `.playSignal`! * Only use it when you want to play the sound regardless of enablement, e.g. in the settings quick pick. */ playSound(signal: Sound, allowManyInParallel: boolean, token: typeof AcknowledgeDocCommentsToken): Promise; /** @deprecated Use getEnabledState(...).onChange */ isSoundEnabled(signal: AccessibilitySignal): boolean; /** @deprecated Use getEnabledState(...).value */ isAnnouncementEnabled(signal: AccessibilitySignal): boolean; /** @deprecated Use getEnabledState(...).onChange */ onSoundEnabledChanged(signal: AccessibilitySignal): Event; } /** Make sure you understand the doc comments of the method you want to call when using this token! */ export declare const AcknowledgeDocCommentsToken: unique symbol; export type AccessibilityModality = 'sound' | 'announcement'; export interface IAccessbilitySignalOptions { allowManyInParallel?: boolean; modality?: AccessibilityModality; /** * The source that triggered the signal (e.g. "diffEditor.cursorPositionChanged"). */ source?: string; /** * For actions like save or format, depending on the * configured value, we will only * play the sound if the user triggered the action. */ userGesture?: boolean; } /** * Corresponds to the audio files in ./media. */ export declare class Sound { readonly fileName: string; private static register; static readonly error: Sound; static readonly warning: Sound; static readonly success: Sound; static readonly foldedArea: Sound; static readonly break: Sound; static readonly quickFixes: Sound; static readonly taskCompleted: Sound; static readonly taskFailed: Sound; static readonly terminalBell: Sound; static readonly diffLineInserted: Sound; static readonly diffLineDeleted: Sound; static readonly diffLineModified: Sound; static readonly requestSent: Sound; static readonly responseReceived1: Sound; static readonly responseReceived2: Sound; static readonly responseReceived3: Sound; static readonly responseReceived4: Sound; static readonly clear: Sound; static readonly save: Sound; static readonly format: Sound; static readonly voiceRecordingStarted: Sound; static readonly voiceRecordingStopped: Sound; static readonly progress: Sound; private constructor(); } export declare class SoundSource { readonly randomOneOf: Sound[]; constructor(randomOneOf: Sound[]); getSound(deterministic?: boolean): Sound; } export declare class AccessibilitySignal { readonly sound: SoundSource; readonly name: string; readonly legacySoundSettingsKey: string | undefined; readonly settingsKey: string; readonly legacyAnnouncementSettingsKey: string | undefined; readonly announcementMessage: string | undefined; private constructor(); private static _signals; private static register; static get allAccessibilitySignals(): AccessibilitySignal[]; static readonly errorAtPosition: AccessibilitySignal; static readonly warningAtPosition: AccessibilitySignal; static readonly errorOnLine: AccessibilitySignal; static readonly warningOnLine: AccessibilitySignal; static readonly foldedArea: AccessibilitySignal; static readonly break: AccessibilitySignal; static readonly inlineSuggestion: AccessibilitySignal; static readonly terminalQuickFix: AccessibilitySignal; static readonly onDebugBreak: AccessibilitySignal; static readonly noInlayHints: AccessibilitySignal; static readonly taskCompleted: AccessibilitySignal; static readonly taskFailed: AccessibilitySignal; static readonly terminalCommandFailed: AccessibilitySignal; static readonly terminalCommandSucceeded: AccessibilitySignal; static readonly terminalBell: AccessibilitySignal; static readonly notebookCellCompleted: AccessibilitySignal; static readonly notebookCellFailed: AccessibilitySignal; static readonly diffLineInserted: AccessibilitySignal; static readonly diffLineDeleted: AccessibilitySignal; static readonly diffLineModified: AccessibilitySignal; static readonly chatRequestSent: AccessibilitySignal; static readonly chatResponseReceived: AccessibilitySignal; static readonly codeActionTriggered: AccessibilitySignal; static readonly codeActionApplied: AccessibilitySignal; static readonly progress: AccessibilitySignal; static readonly clear: AccessibilitySignal; static readonly save: AccessibilitySignal; static readonly format: AccessibilitySignal; static readonly voiceRecordingStarted: AccessibilitySignal; static readonly voiceRecordingStopped: AccessibilitySignal; }