import { ModulatorSource } from "./Modulator.js"; import Stream from "./Stream.js"; import { Chunk } from "./RiffParser.js"; export declare class VersionTag { major: number; minor: number; constructor(major: number, minor: number); static parse(stream: Stream): VersionTag; } export declare class Info { comment: string | null; copyright: string | null; creationDate: string | null; engineer: string | null; name: string; product: string | null; software: string | null; version: VersionTag; soundEngine: string; romName: string | null; romVersion: VersionTag | null; constructor(comment: string | null, copyright: string | null, creationDate: string | null, engineer: string | null, name: string, product: string | null, software: string | null, version: VersionTag, soundEngine: string, romName: string | null, romVersion: VersionTag | null); static parse(data: Uint8Array, chunks: Chunk[]): Info; } export declare class Bag { generatorIndex: number; modulatorIndex: number; constructor(generatorIndex: number, modulatorIndex: number); static parse(stream: Stream): Bag; } export declare class PresetHeader { presetName: string; preset: number; bank: number; presetBagIndex: number; library: number; genre: number; morphology: number; constructor(presetName: string, preset: number, bank: number, presetBagIndex: number, library: number, genre: number, morphology: number); get isEnd(): boolean; static parse(stream: Stream): PresetHeader; } export declare class RangeValue { lo: number; hi: number; constructor(lo: number, hi: number); in(value: number): boolean; static parse(stream: Stream): RangeValue; } export declare class ModulatorList { sourceOper: ModulatorSource; destinationOper: number; amount: number; amountSourceOper: ModulatorSource; transOper: number; constructor(sourceOper: ModulatorSource, destinationOper: number, amount: number, amountSourceOper: ModulatorSource, transOper: number); transform(inputValue: number): number; static parse(stream: Stream): ModulatorList; } export declare class GeneratorList { code: number; value: number | RangeValue; constructor(code: number, value: number | RangeValue); get type(): "startAddrsOffset" | "endAddrsOffset" | "startloopAddrsOffset" | "endloopAddrsOffset" | "startAddrsCoarseOffset" | "modLfoToPitch" | "vibLfoToPitch" | "modEnvToPitch" | "initialFilterFc" | "initialFilterQ" | "modLfoToFilterFc" | "modEnvToFilterFc" | "endAddrsCoarseOffset" | "modLfoToVolume" | "chorusEffectsSend" | "reverbEffectsSend" | "pan" | "delayModLFO" | "freqModLFO" | "delayVibLFO" | "freqVibLFO" | "delayModEnv" | "attackModEnv" | "holdModEnv" | "decayModEnv" | "sustainModEnv" | "releaseModEnv" | "keynumToModEnvHold" | "keynumToModEnvDecay" | "delayVolEnv" | "attackVolEnv" | "holdVolEnv" | "decayVolEnv" | "sustainVolEnv" | "releaseVolEnv" | "keynumToVolEnvHold" | "keynumToVolEnvDecay" | "instrument" | "keyRange" | "velRange" | "startloopAddrsCoarseOffset" | "keynum" | "velocity" | "initialAttenuation" | "endloopAddrsCoarseOffset" | "coarseTune" | "fineTune" | "sampleID" | "sampleModes" | "scaleTuning" | "exclusiveClass" | "overridingRootKey" | undefined; get isEnd(): boolean; static parse(stream: Stream): GeneratorList; } export declare class Instrument { instrumentName: string; instrumentBagIndex: number; get isEnd(): boolean; static parse(stream: Stream): Instrument; } export declare class SampleHeader { sampleName: string; start: number; end: number; loopStart: number; loopEnd: number; sampleRate: number; originalPitch: number; pitchCorrection: number; sampleLink: number; sampleType: number; constructor(sampleName: string, start: number, end: number, loopStart: number, loopEnd: number, sampleRate: number, originalPitch: number, pitchCorrection: number, sampleLink: number, sampleType: number); get isEnd(): boolean; static parse(stream: Stream, isSF3?: boolean): SampleHeader; } export declare const SampleLink: { monoSample: number; rightSample: number; leftSample: number; linkedSample: number; RomMonoSample: number; RomRightSample: number; RomLeftSample: number; RomLinkedSample: number; }; export declare class BoundedValue { min: number; max: number; defaultValue: number; constructor(min: number, defaultValue: number, max: number); clamp(value: number): number; } //# sourceMappingURL=Structs.d.ts.map