export type BarrelExtension = 'js' | 'ts' | 'none';
export interface BarrelsArgs {
    /** Directories to scan. Each gets an `index.ts` re-exporting its sibling source files. */
    paths: string[];
    /** Import-specifier extension. `js`/`ts`/`none`. */
    extension: BarrelExtension;
    /** Resolve `paths` against this directory. Default: `process.cwd()`. */
    baseDir: string;
    /** Skip files whose names match any regex. */
    exclude: RegExp[];
    /** Header comment prepended to every generated file. */
    header: string;
    /** Omit trailing `;` on each export line. */
    noSemicolon: boolean;
    /** Use `'` quotes (default). When false, uses `"`. */
    singleQuotes: boolean;
    /** Report drift without writing. Returns drift count from generator. */
    check: boolean;
    /** Log each file scanned + written. */
    verbose: boolean;
}
export declare const DEFAULT_BARRELS_HEADER = "// Auto-generated by `gjsify barrels` \u2014 do not edit by hand.";
export declare const DEFAULT_BARRELS_EXCLUDES: readonly string[];
/**
 * Regenerate `index.ts` in every directory in `args.paths`.
 *
 * Returns the number of files that drifted from the canonical output —
 * always 0 when `check` is false (drift is rewritten in-place); non-zero
 * under `check: true` signals CI failure.
 */
export declare function generateBarrels(args: BarrelsArgs): Promise<number>;
