import SoundOptions, { SoundPlayOptions } from '../SoundOptions.cjs';
import SoundFilterMemory from '../../types/SoundFilterMemory.cjs';
import '@pixi/sound';

interface ExportedSound {
    options: SoundOptions;
    filters?: SoundFilterMemory[];
}
interface SoundPlay {
    stepIndex: number;
    paused: boolean;
    options?: SoundPlayOptions | string;
}
interface ExportedSoundPlay extends SoundPlay {
    sound: ExportedSound;
}
/**
 * Interface exported sounds
 */
interface ExportedSounds {
    soundAliasesOrder: string[];
    filters?: SoundFilterMemory[];
    soundsPlaying: {
        [key: string]: ExportedSoundPlay;
    };
    /**
     * @deprecated
     */
    playInStepIndex?: {
        [key: string]: SoundPlay;
    };
    /**
     * @deprecated
     */
    sounds?: ExportedSoundOld;
}
interface ExportedSoundOld {
    [key: string]: {
        options: SoundOptions;
        filters?: SoundFilterMemory[];
    };
}

export type { ExportedSound, ExportedSoundPlay, SoundPlay, ExportedSounds as default };
