import type { FailureMode } from "@vertigis/arcgis-extensions/FailureMode"; import type { Initializable } from "@vertigis/arcgis-extensions/support/InitializableBase"; import type { MessageBus } from "../messaging"; import type { Service } from "./Service"; declare const ServiceBase_base: (new () => import("@vertigis/arcgis-extensions/support/observableUtils").ObservableMixin) & (abstract new (...args: any[]) => import("@vertigis/arcgis-extensions/support/observableUtils").ObservableMixin); /** * Base implementation for services. */ export declare abstract class ServiceBase extends ServiceBase_base implements Service, Initializable { messages: MessageBus; failureMode: FailureMode; private _isInitialized; private _isDestroyed; private _initializePromise; private _destroyPromise; /** * @inheritdoc */ get isInitialized(): boolean; /** * @inheritdoc */ get isDestroyed(): boolean; /** * @inheritdoc */ initialize(): Promise; /** * @inheritdoc */ destroy(): Promise; /** * Called to perform initialization of the {@link InitializableBase}. * Subclasses should override this method rather than initialize() to * perform custom initialization. */ protected _onInitialize(): Promise; /** * Called to perform cleanup. Subclasses should override this method rather * than destroy() to perform custom cleanup. */ protected _onDestroy(): Promise; } export {};