import { BasicRenderEngine } from '../engines/basic-render-engine'; import { defaultPatterns } from './default-patterns'; export type Pattern = { pattern: CanvasPattern; scale?: number; width?: number; }; export type PatternCreator = (engine: BasicRenderEngine) => Pattern; type DefaultPattern = { name: string; type: T; config: Config; }; export type UnionizePatternsMap PatternCreator>> = { [Key in keyof Map]: DefaultPattern PatternCreator ? Config : never>; }[keyof Map]; export type DefaultPatterns = UnionizePatternsMap; export {};