import { IRequireBank } from './ports/i-require-bank';
import { FmodParameter } from './fmod-types';
import { IFmodApi } from '../ports/i-fmod-api';
import { ILogger } from '../api/i-logger';
import { FmodEventType } from './interfaces/fmod-event-type';
export declare class FmodEvent {
    readonly id: string;
    readonly eventName: string;
    readonly bankName: string;
    readonly additionalBankRequirements: string[];
    private readonly _logger;
    private _api;
    private _bankLoader;
    private readonly _eventType;
    readonly params: FmodParameter[];
    constructor(name: string, bankName: string, additionalBankRequirements: string[], eventType: FmodEventType, logger?: ILogger);
    init(api: IFmodApi, bankLoader: IRequireBank): void;
    get api(): IFmodApi;
    get eventType(): FmodEventType;
    play(): Promise<void>;
    playVoice(voiceKey: string): Promise<void>;
    start(): Promise<void>;
    stop(): Promise<void>;
    private ensureBankLoaded;
}
