import { Plugin } from "vite";

//#region src/index.d.ts
type AutoCollectOptions = {
  /**
   * Directory walked for `collecting()` calls. Resolved relative to the
   * Vite project root. Defaults to `"src"`.
   */
  srcDir?: string;
  /**
   * File extensions scanned. Defaults to `[".ts", ".tsx"]`.
   */
  extensions?: string[];
  /**
   * Extra directory names skipped during the walk. Appended to the built-in
   * defaults (`node_modules`, `dist`, `.git`, `.next`, `.output`,
   * `.svelte-kit`, `.cache`).
   */
  ignore?: string[];
  thirdParties?: {
    usePackageJson?: boolean;
  };
};
/**
 * Vite plugin that scans source files for `@openpolicy/sdk` `collecting()`
 * calls at the start of each build and inlines the discovered categories into
 * the SDK's `dataCollected` sentinel.
 *
 * Internally the plugin intercepts `@openpolicy/sdk`'s own relative import of
 * `./auto-collected` and redirects it to a virtual module whose body is a
 * literal `export const dataCollected = { ... }`. Because the replacement
 * becomes part of the consumer's own module graph, the scanned data survives
 * any downstream bundler boundary (e.g. nitro's SSR output), which a shared
 * module-level registry would not.
 */
declare function autoCollect(options?: AutoCollectOptions): Plugin;
//#endregion
export { AutoCollectOptions, autoCollect };
//# sourceMappingURL=index.d.ts.map