import { ElasticityStrategy, ElasticityStrategyKind, SloTarget } from '../../../../model'; import { ObjectKindWatcherError, WatchEventsHandler } from '../../../../orchestrator'; import { ElasticityStrategyController } from '../../common'; import { ElasticityStrategyKindControllerPair } from '../elasticity-strategy-manager'; /** * Concrete `WatchEventsHandler` subinterface for elasticity strategies. */ export interface ElasticityStrategyWatchEventsHandler extends WatchEventsHandler> { } /** * Receives watch events for an elasticity strategy and executes the strategy's controller. */ export declare class DefaultElasticityStrategyWatchEventsHandler> implements ElasticityStrategyKindControllerPair, ElasticityStrategyWatchEventsHandler { kind: ElasticityStrategyKind; controller: ElasticityStrategyController; private timeoutMs; /** Identifies the elasticity strategies that are currently being executed. */ private executingStrategies; constructor(kind: ElasticityStrategyKind, controller: ElasticityStrategyController, timeoutMs: number); onObjectAdded(obj: ElasticityStrategy): void; onObjectModified(obj: ElasticityStrategy): void; onObjectDeleted(obj: ElasticityStrategy): void; onError(error: ObjectKindWatcherError): void; private processElasticityStrategy; private getElasticityStrategyId; }