import type { QualityIntelligenceExportBundle } from "@oscharko-dev/keiko-contracts";
import type { QualityIntelligenceTestCaseCandidate } from "@oscharko-dev/keiko-contracts";
/**
 * Lead characters that a spreadsheet may interpret as a formula or DDE invocation.
 * Frozen for reference-stability; consumers should not mutate.
 */
export declare const SPREADSHEET_FORMULA_LEAD_CHARS: ReadonlySet<string>;
/**
 * Returns `true` if `value` would be interpreted as a formula or DDE invocation
 * by a typical spreadsheet because of its leading character.
 */
export declare function startsWithFormulaLead(value: string): boolean;
/**
 * Encodes a single cell value as RFC-4180 CSV with formula-injection
 * mitigation applied. Pure — input string yields the same output every time.
 */
export declare function encodeSpreadsheetSafeCell(value: string): string;
/**
 * Encodes a row by joining cell-encoded values with `,` and terminating with
 * `\r\n` (RFC 4180 line ending).
 */
export declare function encodeSpreadsheetSafeRow(cells: readonly string[]): string;
/**
 * Schema headers for the generic spreadsheet-safe CSV format. Deliberately
 * minimal — TMS-specific shape lives in the TMS-specific adapters.
 */
export declare const SPREADSHEET_SAFE_CSV_HEADERS: readonly string[];
/**
 * Builds the spreadsheet-safe-CSV body for a bundle. The TMS invariant from
 * the contracts package is asserted up front so a non-attested TMS-targeted
 * bundle cannot slip through. `candidates` is filtered to the entries
 * referenced by the bundle, sorted deterministically by candidate id.
 */
export declare function adaptToSpreadsheetSafeCsv(bundle: QualityIntelligenceExportBundle, candidates: readonly QualityIntelligenceTestCaseCandidate[]): string;
//# sourceMappingURL=spreadsheetSafeCsv.d.ts.map