/**
 * Admin API routes for managing this orchestrator's cluster name
 * (`cluster_meta.cluster_name`).
 *
 * The cluster name is the human-friendly identifier that surfaces in
 * Platform's connection registry and in the dashboard's per-orch URL
 * segment (`/orgs/:cId/orchestrators/:clusterName/...`). Operators
 * read and rename it via `kici-admin cluster-name {get,set}`.
 *
 * Routes:
 *
 *   - `GET /api/v1/admin/cluster-name` →
 *     `{ clusterName: string, looksAutoGenerated: boolean }`
 *   - `PUT /api/v1/admin/cluster-name` → body `{ name: string }`,
 *     validates via the shared `clusterNameSchema` and persists.
 *     Returns `{ clusterName, prior }`. Renames are recorded in
 *     `access_log` so the audit trail captures who changed it and when.
 *
 * Mutation requires `secret.write` (same posture as the rest of
 * admin-org-settings). The orchestrator publishes the new name on the
 * next `source.register` — the route response includes a hint so the
 * CLI can tell the operator to reconnect to make Platform aware.
 */
import { Hono } from 'hono';
import type { Kysely } from 'kysely';
import { CLUSTER_NAME_REGEX } from '@kici-dev/engine/protocol/cluster-name';
import type { Database } from '../db/types.js';
import type { RbacEnforcer, Role } from '../secrets/rbac.js';
import type { AccessLogWriter } from '../audit/access-log.js';
interface ClusterNameRouteDeps {
    db: Kysely<Database>;
    rbac: RbacEnforcer;
    /**
     * Optional — when wired, each rename emits one `access_log` row
     * (`cluster_name.update`) with `orgId=null` carrying the prior + new
     * value in `meta`. Cluster-name is orch-scoped, not org-scoped, so
     * the row's `orgId` is null by design.
     */
    accessLog?: AccessLogWriter;
}
type AdminEnv = {
    Variables: {
        role: Role;
        userId: string;
        routingKey: string | null;
    };
};
export declare function createClusterNameRoutes(deps: ClusterNameRouteDeps): Hono<AdminEnv>;
export { CLUSTER_NAME_REGEX };
//# sourceMappingURL=admin-cluster-name.d.ts.map