import { AssetsMap } from '../utils/assets'; import { AssetType, OtherAssetType } from './misc'; import { RunnerOptions } from './runner'; import { FormatOptions } from './format'; export type FontGeneratorOptions = RunnerOptions & { assets: AssetsMap; formatOptions: FormatOptions; templates: { [key in OtherAssetType]: string; }; }; export type Result = Promise; export type FontGeneratorFn = (options: FontGeneratorOptions, dependencyContent: DependencyT extends {} ? DependencyT : null) => Result; export type FontGenerator = { generate: FontGeneratorFn; } & (DependencyT extends {} ? { dependsOn: AssetType; } : {});