export declare const RUN_ID_MAX_LENGTH = 128;
export declare const RUN_ARTIFACT_PATH_MAX_LENGTH = 256;
export declare const RESERVED_RUN_IDS: Set<string>;
/**
 * Validates a runId and returns the canonical form.
 * Rejects traversal, separators, drive syntax, UNC paths, and reserved names.
 */
export declare function validateRunId(raw: string): string;
/**
 * Sanitizes generated run IDs before they touch `.omk/runs`.
 * User-supplied invalid IDs still fail validation at the store boundary.
 */
export declare function sanitizeRunId(raw: string, fallbackPrefix?: string): string;
/**
 * Validates a relative artifact path below a run directory.
 * Accepts nested POSIX-style segments, rejects traversal, absolute paths,
 * drive paths, UNC paths, empty segments, and special characters.
 */
export declare function validateRunArtifactPath(raw: string): string;
/**
 * Returns the `.omk/runs` directory path.
 */
export declare function getRunsDir(root?: string): string;
/**
 * Returns the full path to a run directory or an artifact inside it.
 * Validates the runId before constructing the path.
 */
export declare function getRunPath(runId: string, artifact?: string, root?: string): string;
/**
 * Returns the path to a run artifact.
 * Validates both runId and artifact path before constructing the path.
 */
export declare function getRunArtifactPath(runId: string, artifact: string, root?: string): string;
/**
 * Lists valid runIds from the runs directory.
 * Skips directories with invalid names (e.g., "latest", ".", "..").
 */
export declare function listValidRunIds(root?: string): Promise<string[]>;
