import type { Kysely } from "kysely";
import type { EnvironmentStatus, EnvironmentPods, EnvironmentEvents, ObservabilityDB } from "./db/schema.js";
export declare function classifyPodService(podName: string): string;
export declare function upsertEnvironmentStatus(db: Kysely<ObservabilityDB>, row: EnvironmentStatus): Promise<void>;
export declare function upsertPod(db: Kysely<ObservabilityDB>, row: EnvironmentPods): Promise<void>;
export declare function insertEvent(db: Kysely<ObservabilityDB>, row: EnvironmentEvents): Promise<void>;
export declare function pruneEvents(db: Kysely<ObservabilityDB>, tenantId: string, keepCount?: number): Promise<void>;
export interface ReactorClient {
    addActions(documentId: string, actions: Array<{
        type: string;
        input: Record<string, unknown>;
    }>): Promise<void>;
}
export interface WatcherDeps {
    db: Kysely<ObservabilityDB>;
    k8sToken: string;
    k8sApiUrl?: string;
    reactorClient?: ReactorClient;
    /** Map of tenantId → documentId for dispatching document actions */
    tenantDocumentMap?: Map<string, string>;
}
export interface WatcherHandle {
    stop(): void;
}
export declare function startWatchers(deps: WatcherDeps): WatcherHandle;
//# sourceMappingURL=watchers.d.ts.map