import type { FrontmatterKeywords } from '../../types';
/**
 * Normalizes frontmatter keywords into a structured format with includes/excludes arrays.
 *
 * Validates that the input is an object containing at least one of `includes` or `excludes`
 * as non-empty arrays, then converts all values to strings.
 *
 * @param keywords - Raw keywords object from frontmatter
 * @returns Object with error message or normalized result
 *
 * @example
 * ```ts
 * // Valid with both fields
 * normalizeFrontmatterKeywords({
 *   includes: ['typescript', 'react'],
 *   excludes: ['deprecated']
 * });
 * // { error: null, result: { includes: ['typescript', 'react'], excludes: ['deprecated'] } }
 *
 * // Valid with only includes
 * normalizeFrontmatterKeywords({ includes: ['nodejs'] });
 * // { error: null, result: { includes: ['nodejs'], excludes: undefined } }
 *
 * // Invalid type
 * normalizeFrontmatterKeywords('invalid');
 * // { error: 'Keywords must be an object', result: null }
 *
 * // Empty arrays
 * normalizeFrontmatterKeywords({ includes: [], excludes: [] });
 * // { error: 'Keywords must contain at least one non-empty "includes" or "excludes" array', result: null }
 * ```
 */
export declare function normalizeFrontmatterKeywords(keywords: unknown): {
    error: string;
    result: null;
} | {
    error: null;
    result: FrontmatterKeywords;
};
//# sourceMappingURL=normalize-frontmatter-keywords.d.ts.map