import { ProjectPlugin } from '@teleporthq/teleport-types'; export interface WidgetProjectPluginConfig { /** Pre-mapping UIDL elementType the export converter emits (e.g. 'qrcode-node'). */ elementType: string; /** Generated file name inside /components (e.g. 'tq-qrcode'). */ fileName: string; /** Unique key for files.set. */ fileKey: string; /** Returns the wrapper component source. */ generateCode: () => string; /** npm package the wrapper depends on. Omit for pure-DOM wrappers (e.g. form-file-input). */ dependencyName?: string; /** Exact, pinned version. Required when dependencyName is set. */ dependencyVersion?: string; /** Optional global CSS import injected into _app (e.g. a Pickr theme). */ cssImport?: string; /** * Bump react/react-dom to ^18 when this widget is used (mirrors the calendar * plugin). Needed for framer-motion-backed widgets; the template's `next` * `^12.1.10` caret already resolves to a React-18-capable 12.3.x. */ bumpReact18?: boolean; } /** * Factory for the npm-backed widget primitives' Next project plugins. Each * activates only when the generated project actually uses the primitive, then * emits the local wrapper to components/.js, registers the npm dependency, * and optionally injects a global stylesheet import into _app. Same shape as * NextKanbanProjectPlugin, generalized over the six widgets. */ export declare const createNextWidgetProjectPlugin: (config: WidgetProjectPluginConfig) => ProjectPlugin; //# sourceMappingURL=project-plugin-factory.d.ts.map