/**
 * Sound Notifications
 *
 * Optional sound notifications for events:
 * - Task completion
 * - Errors
 * - User attention needed
 * - Success/failure indicators
 */
export type NotificationSound = 'success' | 'error' | 'warning' | 'info' | 'complete' | 'attention' | 'message' | 'bell';
export interface SoundConfig {
    /** Enable sound notifications */
    enabled: boolean;
    /** Volume level (0-100) */
    volume: number;
    /** Custom sound files */
    customSounds: Record<NotificationSound, string | undefined>;
    /** Muted times (24h format, e.g., ["22:00-08:00"]) */
    mutedTimes: string[];
}
/**
 * Sound Notification Manager
 */
export declare class SoundNotificationManager {
    private config;
    private configPath;
    private platform;
    constructor(configPath?: string);
    /**
     * Play a notification sound
     */
    play(sound: NotificationSound): Promise<void>;
    /**
     * Play success sound
     */
    success(): Promise<void>;
    /**
     * Play error sound
     */
    error(): Promise<void>;
    /**
     * Play warning sound
     */
    warning(): Promise<void>;
    /**
     * Play info sound
     */
    info(): Promise<void>;
    /**
     * Play completion sound
     */
    complete(): Promise<void>;
    /**
     * Play attention sound
     */
    attention(): Promise<void>;
    /**
     * Play message sound
     */
    message(): Promise<void>;
    /**
     * Play bell
     */
    bell(): Promise<void>;
    /**
     * Simple terminal bell (works everywhere)
     */
    terminalBell(): Promise<void>;
    /**
     * Enable/disable sounds
     */
    setEnabled(enabled: boolean): void;
    /**
     * Check if enabled
     */
    isEnabled(): boolean;
    /**
     * Set volume
     */
    setVolume(volume: number): void;
    /**
     * Get volume
     */
    getVolume(): number;
    /**
     * Set custom sound file
     */
    setCustomSound(sound: NotificationSound, filePath: string): Promise<boolean>;
    /**
     * Clear custom sound
     */
    clearCustomSound(sound: NotificationSound): void;
    /**
     * Add muted time range
     */
    addMutedTime(range: string): void;
    /**
     * Remove muted time range
     */
    removeMutedTime(range: string): void;
    /**
     * Check if currently muted by time
     */
    isMuted(): boolean;
    /**
     * Get config
     */
    getConfig(): SoundConfig;
    /**
     * Test all sounds
     */
    testAllSounds(): Promise<void>;
    /**
     * Play a sound file
     */
    private playFile;
    /**
     * Play system sound
     */
    private playSystemSound;
    /**
     * Play sound on macOS
     */
    private playMacSound;
    /**
     * Play sound on Windows
     */
    private playWindowsSound;
    /**
     * Play sound on Linux
     */
    private playLinuxSound;
    /**
     * Load config from file
     */
    private loadConfig;
    /**
     * Save config to file
     */
    private saveConfig;
}
/**
 * Get or create sound notification manager
 */
export declare function getSoundManager(): SoundNotificationManager;
/**
 * Quick sound helpers
 */
export declare function playSuccess(): Promise<void>;
export declare function playError(): Promise<void>;
export declare function playWarning(): Promise<void>;
export declare function playComplete(): Promise<void>;
export declare function playBell(): Promise<void>;
export default SoundNotificationManager;
