/**
 * Builds `CaeEvaluationContext` (T859) from bounded inputs — no SQLite, no raw env.
 * Sources: `.ai/cae/evaluation-context.md`, `schemas/cae/evaluation-context.v1.json`.
 */
import type { CaeEvaluationContext, CaeEvaluationContextGovernance, CaeEvaluationContextQueue, CaeEvaluationContextWorkspace } from "./evaluation-context-types.js";
/** Sentinel when no task row is active; still satisfies `^T[0-9]{3,}$`. */
export declare const CAE_GLOBAL_TASK_ID = "T000";
export type TaskEngineTaskRowSlice = {
    id: string;
    status: string;
    /** Relational task type when present (e.g. `execution`, `improvement`). */
    type?: string | null;
    phaseKey?: string | null;
    title?: string | null;
    tags?: string[] | null;
    features?: string[] | null;
    metadata?: Record<string, unknown> | null;
};
export type BuildEvaluationContextInput = {
    /** When omitted, uses {@link CAE_GLOBAL_TASK_ID} and neutral status. */
    taskRow?: TaskEngineTaskRowSlice | null;
    command: {
        name: string;
        moduleId?: string | null;
        /** Raw argv object (e.g. `wk run` JSON); summarized — never copied verbatim when oversized. */
        args?: Record<string, unknown> | null;
        argvSummary?: string | null;
    };
    workspace: CaeEvaluationContextWorkspace;
    governance: CaeEvaluationContextGovernance;
    queue: CaeEvaluationContextQueue;
};
export declare class CaeEvaluationContextBuilderError extends Error {
    readonly code: string;
    constructor(code: string, message: string);
}
/**
 * Derive a bounded argv summary: drops `policyApproval`, omits nested blobs when too long.
 */
export declare function deriveArgvSummary(args: Record<string, unknown> | null | undefined): string | undefined;
export declare function deriveArgHints(args: Record<string, unknown> | null | undefined): Record<string, string | number | boolean | null> | undefined;
/**
 * Materialize v1 evaluation context. Does not perform JSON Schema validation (callers may Ajv in tests).
 */
export declare function buildEvaluationContext(input: BuildEvaluationContextInput): CaeEvaluationContext;
/**
 * Deterministic JSON string for hashing (T860): lexicographic key sort, no whitespace.
 * Not full JCS — documented here for bundleId alignment until JCS dependency lands.
 */
export declare function canonicalizeEvaluationContextForHash(ctx: CaeEvaluationContext): string;
