import { z } from 'zod';
export declare enum SoundBitDepth {
    Bit8 = 0,
    Bit16 = 1
}
export declare enum SoundChannel {
    Mono = 0,
    Stereo = 1,
    ThreeD = 2
}
export declare enum SoundCompression {
    Uncompressed = 0,
    Compressed = 1,
    UncompressedOnLoad = 2,
    CompressedStreamed = 3
}
export type SoundChannelAsString = keyof typeof SoundChannel;
export type SoundCompressionAsString = keyof typeof SoundCompression;
export type SoundSampleRate = z.infer<typeof soundSampleRateSchema>;
declare const soundSampleRateSchema: z.ZodUnion<readonly [z.ZodLiteral<5512>, z.ZodLiteral<11025>, z.ZodLiteral<22050>, z.ZodLiteral<32000>, z.ZodLiteral<44100>, z.ZodLiteral<48000>]>;
export type YySoundLegacy = z.infer<typeof yySoundSchemaLegacy>;
export declare const yySoundSchemaLegacy: z.ZodObject<{
    "%Name": z.ZodOptional<z.ZodString>;
    ConfigValues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>>>;
    name: z.ZodString;
    tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
    parent: z.ZodDefault<z.ZodObject<{
        name: z.ZodString;
        path: z.ZodString;
    }, z.core.$strip>>;
    compression: z.ZodDefault<z.ZodEnum<typeof SoundCompression>>;
    conversionMode: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
    volume: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<import("./utility.js").FixedNumber, number>>>;
    preload: z.ZodDefault<z.ZodBoolean>;
    bitRate: z.ZodDefault<z.ZodNumber>;
    sampleRate: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<5512>, z.ZodLiteral<11025>, z.ZodLiteral<22050>, z.ZodLiteral<32000>, z.ZodLiteral<44100>, z.ZodLiteral<48000>]>>;
    type: z.ZodDefault<z.ZodEnum<typeof SoundChannel>>;
    bitDepth: z.ZodDefault<z.ZodEnum<typeof SoundBitDepth>>;
    audioGroupId: z.ZodDefault<z.ZodObject<{
        name: z.ZodString;
        path: z.ZodString;
    }, z.core.$strip>>;
    soundFile: z.ZodString;
    duration: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<import("./utility.js").FixedNumber, number>>>;
    resourceType: z.ZodDefault<z.ZodLiteral<"GMSound">>;
    resourceVersion: z.ZodDefault<z.ZodLiteral<"1.0">>;
}, z.core.$strip>;
export type YySoundV1 = z.infer<typeof yySoundSchemaV1>;
export declare const yySoundSchemaV1: z.ZodObject<{
    $GMSound: z.ZodLiteral<"">;
    '%Name': z.ZodString;
    audioGroupId: z.ZodDefault<z.ZodObject<{
        name: z.ZodString;
        path: z.ZodString;
    }, z.core.$strip>>;
    bitDepth: z.ZodDefault<z.ZodEnum<typeof SoundBitDepth>>;
    bitRate: z.ZodDefault<z.ZodNumber>;
    compression: z.ZodDefault<z.ZodEnum<typeof SoundCompression>>;
    conversionMode: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
    /**
     * Duration of the sound. Automatically
     * computed by GameMaker, so Stitch can generally
     * ignore it.
     */
    duration: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<import("./utility.js").FixedNumber, number>>>;
    name: z.ZodString;
    parent: z.ZodDefault<z.ZodObject<{
        name: z.ZodString;
        path: z.ZodString;
    }, z.core.$strip>>;
    preload: z.ZodDefault<z.ZodBoolean>;
    resourceType: z.ZodDefault<z.ZodLiteral<"GMSound">>;
    resourceVersion: z.ZodDefault<z.ZodLiteral<"2.0">>;
    sampleRate: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<5512>, z.ZodLiteral<11025>, z.ZodLiteral<22050>, z.ZodLiteral<32000>, z.ZodLiteral<44100>, z.ZodLiteral<48000>]>>;
    soundFile: z.ZodString;
    type: z.ZodDefault<z.ZodEnum<typeof SoundChannel>>;
    volume: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<import("./utility.js").FixedNumber, number>>>;
}, z.core.$strip>;
export type YySoundV2 = z.infer<typeof yySoundSchemaV2>;
export declare const yySoundSchemaV2: z.ZodObject<{
    $GMSound: z.ZodLiteral<"v2">;
    '%Name': z.ZodString;
    audioGroupId: z.ZodDefault<z.ZodObject<{
        name: z.ZodString;
        path: z.ZodString;
    }, z.core.$strip>>;
    bitDepth: z.ZodDefault<z.ZodEnum<typeof SoundBitDepth>>;
    channelFormat: z.ZodDefault<z.ZodEnum<typeof SoundChannel>>;
    compression: z.ZodDefault<z.ZodEnum<typeof SoundCompression>>;
    compressionQuality: z.ZodDefault<z.ZodNumber>;
    ConfigValues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>>>;
    conversionMode: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
    duration: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<import("./utility.js").FixedNumber, number>>>;
    exportDir: z.ZodDefault<z.ZodString>;
    name: z.ZodString;
    parent: z.ZodDefault<z.ZodObject<{
        name: z.ZodString;
        path: z.ZodString;
    }, z.core.$strip>>;
    preload: z.ZodDefault<z.ZodBoolean>;
    resourceType: z.ZodDefault<z.ZodLiteral<"GMSound">>;
    resourceVersion: z.ZodDefault<z.ZodLiteral<"2.0">>;
    sampleRate: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<5512>, z.ZodLiteral<11025>, z.ZodLiteral<22050>, z.ZodLiteral<32000>, z.ZodLiteral<44100>, z.ZodLiteral<48000>]>>;
    soundFile: z.ZodString;
    volume: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<import("./utility.js").FixedNumber, number>>>;
}, z.core.$loose>;
export type YySound = YySoundLegacy | YySoundV1 | YySoundV2;
export declare const yySoundSchema: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodDiscriminatedUnion<[z.ZodObject<{
    "%Name": z.ZodOptional<z.ZodString>;
    ConfigValues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>>>;
    name: z.ZodString;
    tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
    parent: z.ZodDefault<z.ZodObject<{
        name: z.ZodString;
        path: z.ZodString;
    }, z.core.$strip>>;
    compression: z.ZodDefault<z.ZodEnum<typeof SoundCompression>>;
    conversionMode: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
    volume: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<import("./utility.js").FixedNumber, number>>>;
    preload: z.ZodDefault<z.ZodBoolean>;
    bitRate: z.ZodDefault<z.ZodNumber>;
    sampleRate: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<5512>, z.ZodLiteral<11025>, z.ZodLiteral<22050>, z.ZodLiteral<32000>, z.ZodLiteral<44100>, z.ZodLiteral<48000>]>>;
    type: z.ZodDefault<z.ZodEnum<typeof SoundChannel>>;
    bitDepth: z.ZodDefault<z.ZodEnum<typeof SoundBitDepth>>;
    audioGroupId: z.ZodDefault<z.ZodObject<{
        name: z.ZodString;
        path: z.ZodString;
    }, z.core.$strip>>;
    soundFile: z.ZodString;
    duration: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<import("./utility.js").FixedNumber, number>>>;
    resourceType: z.ZodDefault<z.ZodLiteral<"GMSound">>;
    resourceVersion: z.ZodDefault<z.ZodLiteral<"1.0">>;
}, z.core.$strip>, z.ZodDiscriminatedUnion<[z.ZodObject<{
    $GMSound: z.ZodLiteral<"">;
    '%Name': z.ZodString;
    audioGroupId: z.ZodDefault<z.ZodObject<{
        name: z.ZodString;
        path: z.ZodString;
    }, z.core.$strip>>;
    bitDepth: z.ZodDefault<z.ZodEnum<typeof SoundBitDepth>>;
    bitRate: z.ZodDefault<z.ZodNumber>;
    compression: z.ZodDefault<z.ZodEnum<typeof SoundCompression>>;
    conversionMode: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
    /**
     * Duration of the sound. Automatically
     * computed by GameMaker, so Stitch can generally
     * ignore it.
     */
    duration: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<import("./utility.js").FixedNumber, number>>>;
    name: z.ZodString;
    parent: z.ZodDefault<z.ZodObject<{
        name: z.ZodString;
        path: z.ZodString;
    }, z.core.$strip>>;
    preload: z.ZodDefault<z.ZodBoolean>;
    resourceType: z.ZodDefault<z.ZodLiteral<"GMSound">>;
    resourceVersion: z.ZodDefault<z.ZodLiteral<"2.0">>;
    sampleRate: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<5512>, z.ZodLiteral<11025>, z.ZodLiteral<22050>, z.ZodLiteral<32000>, z.ZodLiteral<44100>, z.ZodLiteral<48000>]>>;
    soundFile: z.ZodString;
    type: z.ZodDefault<z.ZodEnum<typeof SoundChannel>>;
    volume: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<import("./utility.js").FixedNumber, number>>>;
}, z.core.$strip>, z.ZodObject<{
    $GMSound: z.ZodLiteral<"v2">;
    '%Name': z.ZodString;
    audioGroupId: z.ZodDefault<z.ZodObject<{
        name: z.ZodString;
        path: z.ZodString;
    }, z.core.$strip>>;
    bitDepth: z.ZodDefault<z.ZodEnum<typeof SoundBitDepth>>;
    channelFormat: z.ZodDefault<z.ZodEnum<typeof SoundChannel>>;
    compression: z.ZodDefault<z.ZodEnum<typeof SoundCompression>>;
    compressionQuality: z.ZodDefault<z.ZodNumber>;
    ConfigValues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>>>;
    conversionMode: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
    duration: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<import("./utility.js").FixedNumber, number>>>;
    exportDir: z.ZodDefault<z.ZodString>;
    name: z.ZodString;
    parent: z.ZodDefault<z.ZodObject<{
        name: z.ZodString;
        path: z.ZodString;
    }, z.core.$strip>>;
    preload: z.ZodDefault<z.ZodBoolean>;
    resourceType: z.ZodDefault<z.ZodLiteral<"GMSound">>;
    resourceVersion: z.ZodDefault<z.ZodLiteral<"2.0">>;
    sampleRate: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<5512>, z.ZodLiteral<11025>, z.ZodLiteral<22050>, z.ZodLiteral<32000>, z.ZodLiteral<44100>, z.ZodLiteral<48000>]>>;
    soundFile: z.ZodString;
    volume: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<import("./utility.js").FixedNumber, number>>>;
}, z.core.$loose>], "$GMSound">], "resourceVersion">>;
export {};
//# sourceMappingURL=YySound.d.ts.map