/**
 * Facet catalog — scan and display available facets across 3 layers.
 *
 * Scans builtin, user (~/.takt/), and project (.takt/) directories
 * for facet files (.md) and displays them with layer provenance.
 */
import type { WorkflowSource } from '../../infra/config/loaders/workflowResolver.js';
declare const FACET_TYPES: readonly ["personas", "policies", "knowledge", "instructions", "output-contracts"];
export type FacetType = (typeof FACET_TYPES)[number];
export interface FacetEntry {
    name: string;
    description: string;
    source: WorkflowSource;
    overriddenBy?: WorkflowSource;
}
/** Validate a string as a FacetType. Returns the type or null. */
export declare function parseFacetType(input: string): FacetType | null;
/**
 * Extract description from a markdown file.
 * Returns the first `# ` heading text, or falls back to the first non-empty line.
 */
export declare function extractDescription(filePath: string): string;
/**
 * Scan all layers for facets of a given type.
 *
 * Scans builtin → user → project in order.
 * When a facet name appears in a higher-priority layer, the lower-priority
 * entry gets `overriddenBy` set to the overriding layer.
 */
export declare function scanFacets(facetType: FacetType, cwd: string): FacetEntry[];
/** Format and print a list of facet entries for one facet type. */
export declare function displayFacets(facetType: FacetType, entries: FacetEntry[]): void;
/**
 * Main entry point: show facet catalog.
 *
 * If facetType is provided, shows only that type.
 * Otherwise shows all facet types.
 */
export declare function showCatalog(cwd: string, facetType?: string): void;
export {};
//# sourceMappingURL=catalogFacets.d.ts.map