/**
 * Walk a personas directory and return every file matching the convention
 * `NN-slug.{yaml,yml,json,md}`. Sorted by filename so the numeric prefix
 * gives stable persona ordering for reproducibility. Consumers filter
 * through `include` / `exclude`.
 */
export interface DiscoverPersonasOptions {
    /**
     * Regex applied to filenames. Files that don't match are skipped.
     * Default: `^[0-9]{2}-.+\.(yaml|yml|json|md)$`.
     */
    pattern?: RegExp;
    /**
     * Filenames (or basenames) to skip. Use this to exclude WIP / archived
     * personas without removing the file.
     */
    exclude?: readonly string[];
    /**
     * If set, return only personas whose basename contains one of these
     * substrings (post-pattern filter).
     */
    include?: readonly string[];
    /** Recurse into subdirectories. Default false. */
    recursive?: boolean;
}
export interface DiscoveredPersona {
    /** Absolute file path. */
    path: string;
    /** Filename without directory. */
    filename: string;
    /** Filename without extension — the conventional persona id. */
    id: string;
}
export declare function discoverPersonas(dir: string, opts?: DiscoverPersonasOptions): Promise<DiscoveredPersona[]>;
//# sourceMappingURL=discover-personas.d.ts.map