import { Binding } from "../types"; import { Capability } from "../core/capability"; import { KubernetesObject, WatchEvent, GenericClass } from "kubernetes-fluent-client"; import { Queue } from "../core/queue"; import { WatcherType } from "kubernetes-fluent-client/dist/fluent/types"; import { KubernetesListObject } from "kubernetes-fluent-client/dist/types"; import { MetricsCollectorInstance } from "../telemetry/metrics"; /** * Get the key for an entry in the queues * * @param obj The object to derive a key from * @returns The key to a Queue in the list of queues */ export declare function queueKey(obj: KubernetesObject): string; export declare function getOrCreateQueue(obj: KubernetesObject): Queue; /** * Entrypoint for setting up watches for all capabilities * * @param capabilities The capabilities to load watches for */ export declare function setupWatch(capabilities: Capability[], ignoredNamespaces?: string[]): void; /** * Setup a watch for a binding * * @param binding the binding to watch * @param capabilityNamespaces list of namespaces to filter on */ export declare function runBinding(binding: Binding, capabilityNamespaces: string[], ignoredNamespaces?: string[]): Promise; export declare function logEvent(event: WatchEvent, message?: string, obj?: KubernetesObject): void; export type WatchEventArgs = { [WatchEvent.LIST]: KubernetesListObject>; [WatchEvent.RECONNECT]: number; [WatchEvent.CACHE_MISS]: string; [WatchEvent.INIT_CACHE_MISS]: string; [WatchEvent.GIVE_UP]: Error; [WatchEvent.ABORT]: Error; [WatchEvent.OLD_RESOURCE_VERSION]: string; [WatchEvent.NETWORK_ERROR]: Error; [WatchEvent.LIST_ERROR]: Error; [WatchEvent.DATA_ERROR]: Error; [WatchEvent.CONNECT]: string; [WatchEvent.RECONNECT_PENDING]: undefined; [WatchEvent.DATA]: undefined; [WatchEvent.INC_RESYNC_FAILURE_COUNT]: number; [WatchEvent.WATCH_ERROR]: Error; }[K]; export type LogEventFunction = (event: WatchEvent, message?: string) => void; export declare function registerWatchEventHandlers(watcher: WatcherType, logEvent: LogEventFunction, metricsCollector: MetricsCollectorInstance): void; //# sourceMappingURL=watch-processor.d.ts.map