import type { LlmsTxtPage } from './llms-txt.js';
export type LlmsInclude = 'AUTO' | 'ALWAYS' | 'NEVER';
/** Tri-state per-doc include flag; defaults to AUTO for unrecognized values. */
export declare function readLlmsInclude(data: unknown): LlmsInclude;
/** A doc is excluded from every llms surface when it is noindexed. */
export declare function isLlmsNoindex(data: unknown): boolean;
export interface LlmsSelectableDoc {
    collection: string;
    data: unknown;
}
/**
 * Apply the curation + privacy rules:
 *   - internal/system collections excluded
 *   - noindexed docs excluded (privacy boundary)
 *   - `llmsInclude` NEVER excluded, ALWAYS included (overrides eligibility),
 *     AUTO included only when the collection is eligible
 */
export declare function selectLlmsDocs<T extends LlmsSelectableDoc>(docs: T[], opts: {
    isInternalCollection: (c: string) => boolean;
    eligible: Set<string> | null;
}): T[];
export interface LlmsDocForPage {
    title?: string | null;
    slug?: string | null;
    collection: string;
    updatedAt?: Date | null;
    data: unknown;
}
/** Map a selected document to the generator's page shape (curation-aware). */
export declare function toLlmsPage(d: LlmsDocForPage, opts: {
    base: string;
    urlPrefix?: string;
}): LlmsTxtPage;
//# sourceMappingURL=llms-select.d.ts.map