/**
 * Minimal portable glob expansion for the session-capture import flow.
 *
 * Node 22 added `fs.promises.glob`, but ShieldCortex's `engines.node`
 * still declares `>=18.0.0` — using fs/promises.glob would break the
 * CI matrix (Node 20) and any production deployment running an LTS
 * earlier than 22. This module implements the narrow subset of glob
 * semantics the importer actually needs:
 *
 *   - Literal paths (no wildcards) — return as-is, caller checks existence.
 *   - Shell wildcards `*` `?` `[]` within a single directory segment.
 *   - `**` for any-depth recursion (only between `/`-separated segments;
 *     `**` inside a filename is treated as a regular `*` `*`).
 *
 * No braces, no extglob, no negation. The JSONL importer doesn't need
 * those and pulling in a full glob package would inflate the install
 * footprint for a single feature.
 */
export interface ExpandGlobOptions {
    /**
     * Cap on the number of returned matches. Stops walking once hit so
     * pathological globs against `/` don't lock up the API process.
     */
    maxMatches?: number;
}
/**
 * Returns `true` when the pattern contains any glob metacharacter the
 * walker treats specially. Used by callers to short-circuit literal
 * paths and skip the walker entirely.
 */
export declare function isGlobPattern(pattern: string): boolean;
/**
 * Expand a glob pattern to absolute file paths. Synchronous because
 * the importer's callsites are already synchronous and the result is
 * always small enough that I/O is not the bottleneck (sessions live
 * on local disk under `~/.claude/projects/`).
 */
export declare function expandGlob(pattern: string, options?: ExpandGlobOptions): string[];
