import { SoundChannel, SoundChannelAsString, SoundCompression, SoundCompressionAsString, SoundSampleRate, YySound } from '@bscotch/yy';
import type { StitchProjectComms } from '../../StitchProject.js';
import { Gms2ResourceBase, Gms2ResourceBaseParameters } from './Gms2ResourceBase.js';
export declare class Gms2Sound extends Gms2ResourceBase<YySound> {
    constructor(...setup: Gms2ResourceBaseParameters);
    get audioFilePathAbsolute(): string;
    set sampleRate(rate: SoundSampleRate);
    set bitRate(rate: number);
    get channels(): SoundChannelAsString;
    set channels(channelAsString: SoundChannelAsString);
    channelsAsIndex(): SoundChannel;
    get compression(): SoundCompressionAsString;
    set compression(levelAsString: SoundCompressionAsString);
    compressionAsIndex(): SoundCompression;
    /** Overwrite this Sound's audio file with an external file. */
    replaceAudioFile(externalAudioFilePath: string): this;
    get audioGroup(): string;
    set audioGroup(name: string);
    static get audioGroupIdDefault(): {
        name: string;
        path: string;
    };
    /**
     * Given a sound file, create a GameMaker Sound asset with default parameter values.
     * The resource will be named after the source file.
     */
    static create(externalAudioFilePath: string, comms: StitchProjectComms): Promise<Gms2Sound>;
}
//# sourceMappingURL=Gms2Sound.d.ts.map