/**
 * Admin route for triggering scheduled-job ticks out of band.
 *
 *   POST /api/v1/admin/scheduled-jobs/:name/trigger
 *     Path: :name must be one of the registered OrchestratorScheduledJobName
 *     Requires: scheduled_job.trigger role permission (owner + admin roles)
 *     Returns: { triggered: true, ok: boolean, durationMs: number, error?: string }
 *
 * Phase A's E2E smoke uses this endpoint to force a cold-store-archive
 * tick without waiting for the hourly cron. Future dashboard "Run now"
 * buttons use it too.
 *
 * The access_log row is written directly (not via the typed
 * AccessLogWriter) because `scheduled_job.trigger` is not in the
 * protocol-level AccessLogAction enum — matching the pattern the
 * scheduler wrapper itself uses for `scheduled_job.tick` failure rows.
 */
import { Hono } from 'hono';
import type { Kysely } from 'kysely';
import type { Database } from '../db/types.js';
import type { TokenManager } from '../secrets/token-manager.js';
import type { RbacEnforcer, Role } from '../secrets/rbac.js';
export interface AdminScheduledJobsRoutesDeps {
    db: Kysely<Database>;
    tokenManager: TokenManager;
    rbac: RbacEnforcer;
}
type AdminEnv = {
    Variables: {
        role: Role;
        userId: string;
        routingKey: string | null;
    };
};
export declare function createAdminScheduledJobsRoutes(deps: AdminScheduledJobsRoutesDeps): Hono<AdminEnv>;
export {};
//# sourceMappingURL=admin-scheduled-jobs.d.ts.map