/**
 * Pure join of ci.yml inputs, Lisa gate config, and secret presence for the
 * CI Quality jobs Active column.
 * @module cli/ui-ci-quality-jobs-compute
 */
import { type JsonObject, type JsonValue } from "../sync/json-path.js";
/** Inputs the project's `ci.yml` forwards into Lisa's quality workflow. */
export interface CiWorkflowInputs {
    readonly skipJobs: readonly string[];
    readonly verifyEnforced: boolean;
    readonly complianceFramework: string;
    readonly requireApproval: boolean;
}
/** Presence-only secret inventory, or an honest unknown. */
export type RepoSecretsPresence = {
    readonly state: "value";
    readonly names: ReadonlySet<string>;
} | {
    readonly state: "unknown";
    readonly reason: string;
    readonly message: string;
};
/** One Quality-jobs row for the Active column. */
export type CiQualityJobEntry = {
    readonly [key: string]: JsonValue;
    readonly id: string;
    readonly label: string;
    /** `true` active, `false` off, `null` unknown (never a false off). */
    readonly active: boolean | null;
    readonly reason: string;
};
/** Structured probe value for the Quality jobs table. */
export type CiQualityJobsValue = {
    readonly [key: string]: JsonValue;
    readonly jobs: CiQualityJobEntry[];
};
/**
 * Join ci.yml inputs, gate config, and secret presence into Active-column rows.
 * @param inputs - Parsed ci.yml quality inputs
 * @param config - Merged Lisa config
 * @param secrets - Presence-only secret inventory
 * @returns Probe value for the Quality jobs table
 */
export declare function computeCiQualityJobs(inputs: CiWorkflowInputs, config: JsonObject, secrets: RepoSecretsPresence): CiQualityJobsValue;
//# sourceMappingURL=ui-ci-quality-jobs-compute.d.ts.map