/**
 * REST endpoints for test run upload management.
 *
 * POST /api/v1/uploads/init           - Initialize an upload (returns signed URL + public key)
 * GET  /api/v1/uploads/:uploadId/status - Check upload status
 *
 * Uploads support the repo state transfer mechanism: CLI uploads an encrypted
 * tarball of changed files to S3 via a pre-signed URL, then references the
 * upload ID in the test trigger request.
 */
import { Hono } from 'hono';
import type { AppConfig } from '../config.js';
import type { TokenManager } from '../secrets/token-manager.js';
import type { Kysely } from 'kysely';
import type { Database } from '../db/types.js';
import type { CacheStorage } from '../storage/types.js';
/**
 * Dependencies for upload routes.
 */
export interface UploadRouteDeps {
    config: AppConfig;
    db: Kysely<Database>;
    tokenManager?: TokenManager;
    cacheStorage?: CacheStorage;
}
/** Hono env type for upload routes with context variables. */
type UploadEnv = {
    Variables: {
        userId: string;
        routingKey: string | null;
    };
};
/**
 * Create Hono routes for upload management endpoints.
 */
export declare function createUploadRoutes(deps: UploadRouteDeps): Hono<UploadEnv>;
export {};
//# sourceMappingURL=uploads.d.ts.map