export class VoiceSystem extends AbstractContextSystem<any> {
    /**
     *
     * @param {Engine} engine
     * @param settings
     */
    constructor(engine: Engine, settings?: {
        font: string;
        font_size: number;
    });
    dependencies: (typeof Voice)[];
    components_used: (ResourceAccessSpecification<typeof GUIElement> | ResourceAccessSpecification<typeof Transform> | ResourceAccessSpecification<typeof ViewportPosition> | ResourceAccessSpecification<typeof HeadsUpDisplay> | ResourceAccessSpecification<typeof Attachment> | ResourceAccessSpecification<typeof SerializationMetadata> | ResourceAccessSpecification<typeof BehaviorComponent>)[];
    /**
     *
     * @type {Localization}
     */
    localiation: Localization;
    /**
     *
     * @type {GMLEngine}
     */
    gml: GMLEngine;
    /**
     *
     * @type {LineDescriptionTable}
     */
    lines: LineDescriptionTable;
    /**
     *
     * @type {LineSetDescriptionTable}
     */
    sets: LineSetDescriptionTable;
    /**
     *
     * @type {Engine}
     */
    engine: Engine;
    /**
     * When last a line was spoken
     * @type {Map<string, number>}
     * @private
     */
    private __global_last_used_times;
    /**
     *
     * @type {LineWeigher}
     * @private
     */
    private __weigher;
    /**
     *
     * @type {Font}
     * @private
     */
    private __font;
    /**
     *
     * @type {string}
     * @private
     */
    private __font_path;
    /**
     *
     * @private
     */
    private __font_size;
    /**
     * Print debug output into console
     * @type {boolean}
     * @private
     */
    private __debug;
    /**
     *
     * @return {number}
     */
    getCurrentTime(): number;
    startup(entityManager: any): Promise<void>;
    /**
     *
     * @param {number} entity
     * @param {string} set_id
     * @param {Voice} voice
     */
    sayLineFromSet(entity: number, set_id: string, voice: Voice): void;
    /**
     *
     * @param {string} text
     * @param {View} view
     * @ignore
     * @private
     */
    private __setBubbleSize;
    /**
     *
     * @param {number} entity
     * @param {string} line_id
     * @param {Voice} voice
     */
    sayLine(entity: number, line_id: string, voice: Voice): void;
}
import { AbstractContextSystem } from "../system/AbstractContextSystem.js";
import { Voice } from "./Voice.js";
import GUIElement from "../gui/GUIElement.js";
import { ResourceAccessSpecification } from "../../../core/model/ResourceAccessSpecification.js";
import { Transform } from "../transform/Transform.js";
import ViewportPosition from "../gui/position/ViewportPosition.js";
import HeadsUpDisplay from "../gui/hud/HeadsUpDisplay.js";
import { Attachment } from "../attachment/Attachment.js";
import { SerializationMetadata } from "../components/SerializationMetadata.js";
import { BehaviorComponent } from "../../intelligence/behavior/ecs/BehaviorComponent.js";
//# sourceMappingURL=VoiceSystem.d.ts.map