/**
 * Rush Cloud session source.
 *
 * Fetches cloud-captured sessions from the cloud proxy (api.prix.dev) and caches
 * them locally so the existing filesystem-based parse pipeline works unchanged.
 *
 * Endpoints consumed by the cloud proxy:
 *   GET /api/v1/cloud-runs                  → list executions
 *   GET /api/v1/cloud-runs/:id              → get one (used for meta)
 *   GET /api/v1/cloud-runs/:id/session.jsonl → raw captured jsonl
 */
import type { SessionMeta } from './types.js';
export declare function assertContained(candidate: string, rootDir: string): string;
export declare function validateCloudExecutionId(executionId: string): string;
/**
 * List cloud executions the user has captured sessions for. Includes
 * completed + needs_review + failed; an empty session_path means capture
 * never ran, so those are silently dropped.
 */
export declare function discoverCloudSessions(options?: {
    limit?: number;
}): Promise<SessionMeta[]>;
/**
 * Fetch the jsonl for one cloud execution and stash it in the local cache.
 * Returns the local file path. Re-fetches on every call (cheap — executions
 * are immutable once complete). Callers may pass an already-known filePath.
 */
export declare function ensureCloudSessionCached(executionId: string, destPath?: string): Promise<string>;
/** True if filePath points into the cloud session cache dir. */
export declare function isCloudSessionPath(filePath: string): boolean;
/** Extract execution_id from a cloud cache path. */
export declare function executionIdFromCloudPath(filePath: string): string | null;
