import { ErrorCallback, Informer, ListPromise, ObjectCallback } from './informer'; import { KubernetesObject } from './types'; import { Watch } from './watch'; export interface ObjectCache { get(name: string, namespace?: string): T | undefined; list(namespace?: string): ReadonlyArray; } export declare class ListWatch implements ObjectCache, Informer { private readonly path; private readonly watch; private readonly listFn; private readonly labelSelector?; private objects; private resourceVersion; private readonly indexCache; private readonly callbackCache; private request; private stopped; constructor(path: string, watch: Watch, listFn: ListPromise, autoStart?: boolean, labelSelector?: string | undefined); 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 indexObj; private watchHandler; } export declare function deleteItems(oldObjects: T[], newObjects: T[], deleteCallback?: Array>): T[]; export declare function addOrUpdateObject(objects: T[], obj: T, addCallback?: Array>, updateCallback?: Array>): void; export declare function deleteObject(objects: T[], obj: T, deleteCallback?: Array>): void;