import { ErrorCallback, Informer, ListPromise, ObjectCallback } from './informer.js'; import { KubernetesObject } from './types.js'; import { Watch } from './watch.js'; export interface ObjectCache { get(name: string, namespace?: string): T | undefined; list(namespace?: string): ReadonlyArray; } export type CacheMap = Map>; export declare class ListWatch implements ObjectCache, Informer { private objects; private resourceVersion; private readonly indexCache; private readonly callbackCache; private request; private stopped; private readonly path; private readonly watch; private readonly listFn; private readonly labelSelector?; private readonly fieldSelector?; constructor(path: string, watch: Watch, listFn: ListPromise, autoStart?: boolean, labelSelector?: string, fieldSelector?: string); start(): Promise; stop(): Promise; on(verb: 'add' | 'update' | 'delete' | 'change', cb: ObjectCallback): void; on(verb: 'error' | 'connect', cb: ErrorCallback): void; off(verb: 'add' | 'update' | 'delete' | 'change', cb: ObjectCallback): void; off(verb: 'error' | 'connect', cb: ErrorCallback): void; get(name: string, namespace?: string): T | undefined; list(namespace?: string | undefined): ReadonlyArray; latestResourceVersion(): string; private _stop; private doneHandler; private addOrUpdateItems; private watchHandler; } export declare function cacheMapFromList(newObjects: T[]): CacheMap; export declare function deleteItems(oldObjects: CacheMap, newObjects: T[], deleteCallback?: ObjectCallback[]): CacheMap; export declare function addOrUpdateObject(objects: CacheMap, obj: T, addCallbacks?: ObjectCallback[], updateCallbacks?: ObjectCallback[]): void; export declare function deleteObject(objects: CacheMap, obj: T, deleteCallbacks?: ObjectCallback[]): void;