import { type Kysely } from "kysely";
import type { ObservabilityDB } from "./db/schema.js";
import { type DumpResolverDeps } from "./dumps/resolvers.js";
import { type RestartResolverDeps } from "./restart.js";
export interface ResolverConfig {
    prometheusUrl: string;
    lokiUrl: string;
    /**
     * Kysely client for the processor's `vetra-cloud-environments` namespace.
     * Used by `myEnvironments` to filter rows by `createdBy` against the
     * authenticated user (from reactor-api's AuthService).
     */
    envDb: Kysely<any>;
    /**
     * Dispatches an action on a document. Provided by the subgraph host — the
     * resolver is not aware of the underlying reactor client implementation.
     */
    dispatch: (documentId: string, type: string, input: Record<string, unknown>) => Promise<void>;
    /**
     * Optional dependencies for the on-demand database dump feature. The
     * subgraph host omits this when S3 credentials aren't configured —
     * see `index.ts` startup gating. When absent, `environmentDumps`
     * still resolves (to an empty list) so the schema's non-null
     * contract is honoured, and `requestEnvironmentDump` throws
     * `DUMPS_NOT_CONFIGURED` so callers see a clear error rather than a
     * confusing schema violation.
     */
    dumpDeps?: DumpResolverDeps;
    /**
     * Optional dependencies for the service rollout-restart feature. Omitted
     * by the host when the in-cluster Kubernetes client can't be constructed;
     * `restartEnvironmentService` then throws RESTART_NOT_CONFIGURED.
     */
    restartDeps?: RestartResolverDeps;
}
export declare function createResolvers(db: Kysely<ObservabilityDB>, config: ResolverConfig): Record<string, any>;
//# sourceMappingURL=resolvers.d.ts.map