import type { Options } from '../../options'; import type { TargetFilePath } from '../preset'; import type { GhostGulpRollupOptions } from './ghost-gulp-rollup-preset'; export declare const generateProgrammaticFiles: (packageId: string, options: Options, ghostGulpRollupOptions: GhostGulpRollupOptions) => Record; export declare function generatePackage(packageId: string, options: Options, ghostGulpRollupOptions: GhostGulpRollupOptions): Package; interface Package { private: true; name: string; version?: string; description: string; license: string; homepage: string; repository: { type: string; url: string; }; bugs: { url: string; }; contributors: [ { name: string; email: string; } ]; type: 'module' | 'commonjs'; scripts: { build: string; 'build:watch': string; 'link-project': string; clean: string; 'clean:link': string; typecheck?: string; lint?: string; 'lint:fix'?: string; format?: string; test?: string; 'test:watch'?: string; 'test:ci'?: string; postinstall?: string; }; devDependencies: Record; 'lint-staged'?: Partial>; } export declare function generateManifest(packageId: string, { type }: Options, { cicd }: GhostGulpRollupOptions): Manifest; interface PackageCompatibility { minimum?: string; verified?: string; maximum?: string; } interface RelatedPackage { id: string; type: PackageType; manifest?: string; compatibility?: PackageCompatibility; reason?: string; } interface Author { name: string; email?: string; url?: string; discord?: string; flags?: Record; } interface Media { type?: string; url?: string; caption?: string; loop?: boolean; thumbnail?: string; flags?: Record; } interface Pack { name: string; path: string; label: string; private?: boolean; type: 'Actor' | 'Cards' | 'Item' | 'JournalEntry' | 'Macro' | 'Playlist' | 'RollTable' | 'Scene' | 'Adventure'; system?: string; flags?: Record; } interface Language { lang: string; name?: string; path: string; system?: string; module?: string; flags?: Record; } interface Relationships { systems?: RelatedPackage<'system'>[]; requires?: RelatedPackage[]; conflicts?: RelatedPackage[]; flags?: Record; } interface BasePackage { id: string; title?: string; description?: string; authors?: Author[]; url?: string; license?: string; readme?: string; bugs?: string; changelog?: string; flags?: Record; media?: Media[]; version?: string; compatibility?: PackageCompatibility; scripts?: string[]; esmodules?: string[]; styles?: string[]; languages?: Language[]; packs?: Pack[]; relationships?: Relationships; socket?: boolean; manifest?: string; download?: string; protected?: boolean; } interface BaseModule extends BasePackage { coreTranslation?: boolean; library?: boolean; } interface BaseSystem extends BasePackage { background?: string; initiative?: string; gridDistance?: number; gridUnits?: string; primaryTokenAttribute?: string; secondaryTokenAttribute?: string; } declare type Manifest = BaseModule | BaseSystem; export declare function generateTemplate(): Template; interface SystemDefintion { types: string[]; templates: Record; [key: string]: unknown; } interface Template { Actor: SystemDefintion; Item: SystemDefintion; Cards?: SystemDefintion; Card?: SystemDefintion; } export {};