import { Plugin } from "vite"; //#region src/types.d.ts /** * Options for the Prisma Vite plugin. */ interface PrismaVitePluginOptions { /** * Debounce delay in milliseconds for re-emit on file changes. * @default 150 */ readonly debounceMs?: number; /** * Log level for plugin output. * - 'silent': No output * - 'info': Success messages and errors * - 'debug': Verbose output including watched files * @default 'info' */ readonly logLevel?: 'silent' | 'info' | 'debug'; } //#endregion //#region src/plugin.d.ts /** * Creates a Vite plugin that automatically emits Prisma Next contract artifacts. * * The plugin resolves watched files from contract source provider metadata, * re-emitting contract artifacts on changes with debounce while serializing * overlapping emits into a single follow-up run. * * @param configPath - Path to prisma-next.config.ts (relative or absolute). Defaults to 'prisma-next.config.ts' * @param options - Optional plugin configuration * @returns Vite plugin * * @example * ```ts * import { defineConfig } from 'vite'; * import { prismaVitePlugin } from '@prisma-next/vite-plugin-contract-emit'; * * // Use default config path * export default defineConfig({ * plugins: [prismaVitePlugin()], * }); * * // Or specify a custom path * export default defineConfig({ * plugins: [prismaVitePlugin('custom/prisma-next.config.ts')], * }); * ``` */ declare function prismaVitePlugin(configPath?: string, options?: PrismaVitePluginOptions): Plugin; //#endregion export { type PrismaVitePluginOptions, prismaVitePlugin }; //# sourceMappingURL=index.d.mts.map