import { type ObjectCache } from './cache.js'; import { KubeConfig } from './config.js'; import { KubernetesListObject, KubernetesObject } from './types.js'; export type ObjectCallback = (obj: T) => void; export type ErrorCallback = (err?: any) => void; export type ListCallback = (list: T[], ResourceVersion: string) => void; export type ListPromise = () => Promise>; export declare const ADD = "add"; export type ADD = typeof ADD; export declare const UPDATE = "update"; export type UPDATE = typeof UPDATE; export declare const CHANGE = "change"; export type CHANGE = typeof CHANGE; export declare const DELETE = "delete"; export type DELETE = typeof DELETE; export declare const CONNECT = "connect"; export type CONNECT = typeof CONNECT; export declare const ERROR = "error"; export type ERROR = typeof ERROR; export interface Informer { 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; start(): Promise; stop(): Promise; } export declare function makeInformer(kubeconfig: KubeConfig, path: string, listPromiseFn: ListPromise, labelSelector?: string): Informer & ObjectCache;