import { IBank } from '../ports/i-manage-events';
import { IFmodApi } from '../ports/i-fmod-api';
export declare class FmodBank implements IBank {
    private readonly _bankDir;
    constructor(bankDir: string);
    get masterBankPath(): string;
    get masterStringsBankPath(): string;
    bankPath(bankName: string): string;
    localisedBankName(bankName: string, languageCode: string): string;
    localisedBankPath(bankName: string, languageCode: string): string;
}
export declare class FmodParameter {
    name: string;
    readonly eventId: string | 'global';
    private _api;
    private readonly _defaultValue;
    constructor(name: string, eventId: string | 'global', defaultValue?: number);
    init(eventId: string, api: IFmodApi): void;
    setValue(value: number): Promise<void>;
    setDefaultValue(): Promise<void>;
}
export declare class ContinuousParameter extends FmodParameter {
    constructor(parameterName: string, eventId: string, defaultValue: number);
}
export declare class LabeledParameter<TLabel extends string> extends FmodParameter {
    private readonly _labels;
    constructor(parameterName: string, eventId: string, labels: Record<TLabel, number>, defaultValue: number);
    setLabel(label: TLabel): Promise<void>;
}
