import { GeneratorKeys } from "./Constants.js"; import { BoundedValue, GeneratorList, RangeValue } from "./Structs.js"; type GeneratorKey = typeof GeneratorKeys[number]; declare const IndexGeneratorKeys: readonly ["instrument", "sampleID"]; export declare const RangeGeneratorKeys: readonly ["keyRange", "velRange"]; export type RangeGeneratorKey = typeof RangeGeneratorKeys[number]; declare const SubstitutionGeneratorKeys: readonly ["keynum", "velocity"]; declare const SampleGeneratorKeys: readonly ["startAddrsOffset", "endAddrsOffset", "startloopAddrsOffset", "endloopAddrsOffset", "startAddrsCoarseOffset", "endAddrsCoarseOffset", "startloopAddrsCoarseOffset", "endloopAddrsCoarseOffset", "sampleModes", "exclusiveClass", "overridingRootKey"]; declare const presetExcludedKeys: readonly ["startAddrsOffset", "endAddrsOffset", "startloopAddrsOffset", "endloopAddrsOffset", "startAddrsCoarseOffset", "endAddrsCoarseOffset", "startloopAddrsCoarseOffset", "endloopAddrsCoarseOffset", "sampleModes", "exclusiveClass", "overridingRootKey", "keynum", "velocity"]; export type InstrumentAllowedKey = Exclude; type PresetExcludedKey = typeof presetExcludedKeys[number]; type PresetAllowedKey = Exclude; type NonValueGeneratorKey = typeof SampleGeneratorKeys[number] | typeof SubstitutionGeneratorKeys[number] | typeof IndexGeneratorKeys[number] | typeof RangeGeneratorKeys[number]; export type ValueGeneratorKey = Exclude; export type NonRangeGeneratorKey = Exclude; export type InstrumentGeneratorParams = { [key in InstrumentAllowedKey]: key extends RangeGeneratorKey ? RangeValue : number; }; export type PresetGeneratorParams = { [key in PresetAllowedKey]: key extends RangeGeneratorKey ? RangeValue : number; }; export type GeneratorParams = { [key in InstrumentAllowedKey]: key extends RangeGeneratorKey ? RangeValue : BoundedValue; }; export declare function convertToInstrumentGeneratorParams(input: GeneratorParams): InstrumentGeneratorParams; export declare function isRangeGenerator(key: string): key is RangeGeneratorKey; export declare const ValueGeneratorKeys: readonly ValueGeneratorKey[]; export declare function isValueGenerator(key: string): key is ValueGeneratorKey; export declare function createPresetGeneratorObject(generators: GeneratorList[]): Partial; export declare function createInstrumentGeneratorObject(generators: GeneratorList[]): Partial; export declare const DefaultInstrumentZone: GeneratorParams; export {}; //# sourceMappingURL=Generator.d.ts.map