import type { NativeAcceptanceCriterionProjection, NativeAcceptancePageProjection } from './native-types.js'; export declare const NATIVE_ACCEPTANCE_PAGE_LIMITS: Readonly<{ maxItems: 16; maxTextBytes: 512; maxContextItems: 4; maxContextItemBytes: 256; maxFailedCheckIds: 16; maxSerializedBytes: number; }>; export declare const NATIVE_ACCEPTANCE_LIMITS: Readonly<{ maxCriteria: 1024; }>; export declare const NATIVE_ACCEPTANCE_EVIDENCE_START_MARKER = ""; export declare const NATIVE_ACCEPTANCE_EVIDENCE_END_MARKER = ""; export type NativeAcceptanceKind = 'brief-example' | 'spec-scenario' | 'spec-must'; export type NativeAcceptanceIdentityMode = 'content-hash' | 'none'; export interface NativeAcceptanceCriterion { id: string; kind: NativeAcceptanceKind; source: string; context: string[]; text: string; } export interface NativeAcceptanceEvidenceEntry { acceptance_id: string; status: 'passed' | 'failed'; evidence_refs: string[]; skipped_reason?: string; } /** Project a bounded, resumable page without hiding any acceptance ID. */ export declare function projectNativeAcceptancePage(options: { criteria: readonly NativeAcceptanceCriterion[]; acceptanceHash: string; cursor?: string | null; verificationStatuses?: ReadonlyMap; failedCheckIds?: readonly string[]; }): NativeAcceptancePageProjection; export declare function normalizeNativeAcceptanceText(value: string): string; /** Derive criteria from top-level list items in the brief's Acceptance examples section. */ export declare function deriveBriefAcceptanceCriteria(markdown: string, source?: string, maxCriteria?: number, identityMode?: NativeAcceptanceIdentityMode): NativeAcceptanceCriterion[]; /** Derive criteria from explicit Markdown `Scenario:` heading blocks in a target spec. */ export declare function deriveSpecAcceptanceCriteria(markdown: string, source?: string, maxCriteria?: number, identityMode?: NativeAcceptanceIdentityMode): NativeAcceptanceCriterion[]; /** * Conservatively derive every substantive specification statement outside Scenario blocks. * Scenario blocks are already represented by `spec-scenario`; excluding their body avoids * duplicate criteria while prose, numbered requirements, and MUST bullets cannot disappear. */ export declare function deriveSpecMandatoryAcceptanceCriteria(markdown: string, source?: string, maxCriteria?: number, identityMode?: NativeAcceptanceIdentityMode): NativeAcceptanceCriterion[]; /** Parse the single fixed acceptance-evidence block from verification Markdown. */ export declare function parseNativeVerificationMachineBlock(markdown: string): NativeAcceptanceEvidenceEntry[]; /** Serialize a validated, deterministic acceptance-evidence block for verification.md. */ export declare function serializeNativeVerificationMachineBlock(entries: readonly unknown[]): string; //# sourceMappingURL=native-acceptance.d.ts.map