import { CSSGeneratedStylesheet } from "../../css/types.js";
/**
 * File generated by component factory
 */
interface GeneratedComponentFile {
  filename: string;
  content: string;
}
/**
 * Asset generated by component factory
 */
interface GeneratedAssetFile extends GeneratedComponentFile {
  import: string;
}
/**
 * Generated component
 */
interface FactoryGeneratedComponent {
  assets: GeneratedAssetFile[];
  content: string;
  style?: CSSGeneratedStylesheet;
  types?: string;
  dependencies?: Set<string>;
}
/**
 * Component data with filename
 */
interface FactoryComponent extends Omit<FactoryGeneratedComponent, 'ext' | 'forceExtension'> {
  icon: string;
  filename: string;
  css?: string;
}
export { FactoryComponent, FactoryGeneratedComponent, GeneratedAssetFile, GeneratedComponentFile };