/// import type { ReactElement } from 'react'; import type { Data as EjsData } from 'ejs'; import type { ZombiContext } from './zombi'; import type { Maybe } from '../types'; export interface EffectComponent { (props: Effect): ReactElement | null; } export interface Transformer { (buffer: Buffer): Buffer | Promise; } export declare type EffectModifier = Maybe | { filepath?: Maybe; transformer?: Maybe; }; export interface Effect { from: string; to: string; options: ZombiContext & { ejs: boolean; symlink: boolean; modifier: (filepath: string, data: T) => EffectModifier | Promise; permission?: number; }; } /** * A static representation of "side effects" that are executed by the * scaffolding template. Each `Effect` maps to a template file being rendered. */ export declare const Effect: EffectComponent;