import type { CapsuleSetId, KnowledgeCapsuleId } from "@oscharko-dev/keiko-contracts";
import type { KnowledgeStore } from "../store.js";
export interface CapsuleDocumentText {
    readonly documentId: string;
    readonly text: string;
}
/**
 * Returns the full normalized text for every indexed document in a capsule, ordered by
 * document_id for deterministic output. Documents with empty text are skipped. Sync — reads the
 * node:sqlite handle directly like the capsule-lifecycle queries.
 */
export declare function listCapsuleDocumentTexts(store: KnowledgeStore, capsuleId: string | KnowledgeCapsuleId): readonly CapsuleDocumentText[];
/**
 * Returns the full corpus text for every member capsule of a capsule-set, concatenated in
 * membership order (ordinal). Each member's documents stay ordered by document_id. An unknown
 * capsule-set yields an empty list, which the QI ingestion layer maps to QI_CAPSULE_UNAVAILABLE.
 * Capsule-sets are logical compositions (no own documents), so this fans out over the members and
 * reuses {@link listCapsuleDocumentTexts} — it does not touch a new storage path (Epic #710,
 * Issue #716/#717). Sync, like the single-capsule reader.
 */
export declare function listCapsuleSetDocumentTexts(store: KnowledgeStore, capsuleSetId: string | CapsuleSetId): readonly CapsuleDocumentText[];
//# sourceMappingURL=capsuleCorpus.d.ts.map