import * as _nuxt_schema from '@nuxt/schema';
import { ComposeIconSize } from '../dist/runtime/types/icon-sizes.js';
interface IconComponentOptions {
/**
* Prefix prepended to the generated component name.
* e.g. `'My'` → ``
*
* @type {?string}
* @default undefined
*/
prefix?: string;
/**
* Suffix appended to the generated component name.
* e.g. `'Icon'` → ``
*
* @type {?string}
* @default 'Icon'
*/
suffix?: string;
/**
* Naming convention for the generated component.
*
* @type {'pascal' | 'kebab'}
* @default 'pascal'
*/
case?: 'pascal' | 'kebab';
/**
* Directory where generated components are written.
* Defaults to `.nuxt/compose-icons`.
*
* @type {?string}
*/
destDir?: string;
/**
* Format of the generated component file, either as a Vue SFC (.vue) or as a TypeScript file (.ts)
*
*
* @type {?'ts' | 'vue'}
* @default 'ts'
*/
fileFormat?: 'vue' | 'ts';
/**
* Write an `index.ts` barrel file in `destDir`.
*
* @type {?boolean}
* @default false
*/
hasIndexFile?: boolean;
/**
* Extra CSS classes applied to every generated icon component.
*
* @type {?string | string[]}
* @default []
*/
iconClasses?: string | string[];
}
interface NuxtComposeIconsOptions {
/**
* The path to the .svg icons directory
*
* @type {?string}
*/
pathToIcons?: string;
/**
* Component generation options: naming, output directory, file format.
*
* @type {?IconComponentOptions}
*/
component?: IconComponentOptions;
/**
* Icon sizes used to generate `--size-*` CSS variables and size classes.
* Merged on top of the defaults, so unspecified keys remain available.
*
* defaults: {
* sm: '1.5rem',
* md: '2rem',
* lg: '3rem',
* xl: '4rem'
* }
* @type {?ComposeIconSize}
*/
iconSizes?: ComposeIconSize;
/**
* Auto-import `useComposeIcon` and `useComposeIconTheme`.
* Disable if you only use the generated components and don't need these directly.
*
* @type {?boolean}
* @default true
*/
includeComposables?: boolean;
/**
* Log component names without writing files. Useful to preview what will be generated.
*
* @type {?boolean}
* @default false
*/
dryRun?: boolean;
/**
* Whether to re-run icon generation on every build. (bypassing the built-in cache)
*
* @type {?boolean}
* @default false
*/
reRunOnBuild?: boolean;
/**
* Show additional debug logs during setup.
*
* @type {?boolean}
* @default false
*/
debug?: boolean;
/**
* Directory used to persist the SVG processing cache across builds.
* Resolved relative to the project root.
* Defaults to `node_modules/.cache/nuxt-compose-icons`. Safe to gitignore.
*
* @type {?string}
*/
cacheDir?: string;
}
declare const _default: _nuxt_schema.NuxtModule;
export { _default as default };
export type { IconComponentOptions, NuxtComposeIconsOptions };