import { IApplication, IPlugin, Plugin, Signal } from 'dill-pixel';
import * as springroll from 'springroll';
export interface SpringRollPluginOptions extends springroll.ApplicationConfig {
    debug?: boolean;
}
export interface ISpringRollPlugin extends IPlugin {
    onPause: Signal<(result: boolean) => void>;
    onCaptionsMuted: Signal<(result: boolean) => void>;
    onSoundVolume: Signal<(result: number) => void>;
    onVoVolume: Signal<(result: number) => void>;
    onMusicVolume: Signal<(result: number) => void>;
    onSfxVolume: Signal<(result: number) => void>;
    onPointerSize: Signal<(result: number) => void>;
    onButtonSize: Signal<(result: number) => void>;
    onControlSensitivity: Signal<(result: number) => void>;
    onRemovableLayers: Signal<(result: number) => void>;
    onHudPosition: Signal<(result: string) => void>;
    onHitAreaScale: Signal<(result: number) => void>;
    onDragThresholdScale: Signal<(result: number) => void>;
    onHealth: Signal<(result: number) => void>;
    onObjectCount: Signal<(result: number) => void>;
    onCompletionPercentage: Signal<(result: number) => void>;
    onSpeedScale: Signal<(result: number) => void>;
    onTimersScale: Signal<(result: number) => void>;
    onInputCount: Signal<(result: number) => void>;
    onKeyBinding: Signal<(result: object) => void>;
    onColorVision: Signal<(result: string) => void>;
    onFullScreen: Signal<(result: boolean) => void>;
    initialize(app: IApplication, options?: Partial<SpringRollPluginOptions>): void;
}
export declare class SpringRollPlugin extends Plugin implements ISpringRollPlugin {
    private _options;
    private _springrollApplication;
    onPause: Signal<(result: boolean) => void>;
    onCaptionsMuted: Signal<(result: boolean) => void>;
    onSoundVolume: Signal<(result: number) => void>;
    onVoVolume: Signal<(result: number) => void>;
    onMusicVolume: Signal<(result: number) => void>;
    onSfxVolume: Signal<(result: number) => void>;
    onPointerSize: Signal<(result: number) => void>;
    onButtonSize: Signal<(result: number) => void>;
    onControlSensitivity: Signal<(result: number) => void>;
    onRemovableLayers: Signal<(result: number) => void>;
    onHudPosition: Signal<(result: string) => void>;
    onHitAreaScale: Signal<(result: number) => void>;
    onDragThresholdScale: Signal<(result: number) => void>;
    onHealth: Signal<(result: number) => void>;
    onObjectCount: Signal<(result: number) => void>;
    onCompletionPercentage: Signal<(result: number) => void>;
    onSpeedScale: Signal<(result: number) => void>;
    onTimersScale: Signal<(result: number) => void>;
    onInputCount: Signal<(result: number) => void>;
    onKeyBinding: Signal<(result: object) => void>;
    onColorVision: Signal<(result: string) => void>;
    onFullScreen: Signal<(result: boolean) => void>;
    initialize(_app: IApplication, options: Partial<SpringRollPluginOptions>): Promise<void>;
    private hello;
    private _subscribeToSpringrollFeatures;
    private _handleCaptionsMuted;
    private _handleSoundVolume;
    private _handleVoVolume;
    private _handleMusicVolume;
    private _handleSfxVolume;
    private _handlePointerSize;
    private _handleButtonSize;
    private _handleControlSensitivity;
    private _handleRemovableLayers;
    private _handleHudPosition;
    private _handleHitAreaScale;
    private _handleDragThresholdScale;
    private _handleHealth;
    private _handleObjectCount;
    private _handleCompletionPercentage;
    private _handleSpeedScale;
    private _handleTimersScale;
    private _handleInputCount;
    private _handleKeyBinding;
    private _handleColorVision;
    private _handleFullScreen;
    private _handlePause;
    private _debug;
}
//# sourceMappingURL=SpringRollPlugin.d.ts.map