export class AchievementManager extends EnginePlugin {
    id: string;
    /**
     *
     * @type {AchievementGateway|null}
     */
    gateway: AchievementGateway | null;
    /**
     *
     * @type {Achievement[]}
     */
    entries: Achievement[];
    /**
     *
     * @type {AssetManager|null}
     */
    assetManager: AssetManager | null;
    /**
     *
     * @type {Blackboard|null}
     */
    blackboard: Blackboard | null;
    /**
     *
     * @type {EntityManager|null}
     */
    entityManager: EntityManager | null;
    /**
     *
     * @type {Localization|null}
     */
    localization: Localization | null;
    /**
     * @readonly
     * @type {ObservedBoolean}
     */
    readonly isStarted: ObservedBoolean;
    /**
     * @readonly
     * @type {ObservedBoolean}
     */
    readonly isGatewayInitialized: ObservedBoolean;
    /**
     * @readonly
     * @type {ObservedBoolean}
     */
    readonly isBlackboardAttached: ObservedBoolean;
    /**
     * @readonly
     * @type {ReactiveAnd}
     */
    readonly isActive: ReactiveAnd;
    handlers: {};
    /**
     *
     * @param {String} id
     * @return {Achievement|undefined}
     */
    getAchievementById(id: string): Achievement | undefined;
    /**
     *
     * @param {String} id
     */
    unlock(id: string): void;
    /**
     * @private
     * @param {Achievement} entry
     */
    private activateEntry;
    /**
     * @private
     * @param {Achievement} entry
     */
    private deactivateEntry;
    /**
     * @private
     */
    private activate;
    /**
     * @private
     */
    private deactivate;
    initialize(engine: any): Promise<void>;
    /**
     *
     * @param {AssetManager} assetManager
     */
    loadDefinitions(assetManager: AssetManager): Promise<void>;
    /**
     * Visually present an achievement
     * @param {Achievement} achievement
     */
    present(achievement: Achievement): void;
    /**
     *
     * @param {Blackboard} blackboard
     */
    attachBlackboard(blackboard: Blackboard): void;
    initializeGateway(): Promise<void>;
    startup(): Promise<void>;
    shutdown(): Promise<void>;
}
import { EnginePlugin } from "../plugin/EnginePlugin.js";
import { Achievement } from "./Achievement.js";
import ObservedBoolean from "../../core/model/ObservedBoolean.js";
import { ReactiveAnd } from "../../core/model/reactive/model/logic/ReactiveAnd.js";
//# sourceMappingURL=AchievementManager.d.ts.map