import { Eta } from "eta"; export interface PluginGenerator { context: { props: Record; target: string; }; renderer: Eta; type: string; generate(): Promise; } export declare function createPluginGenerator(type: PluginGenerator["type"], context: PluginGenerator["context"]): PluginGenerator; export declare class TypeScriptPluginGenerator implements PluginGenerator { #private; context: PluginGenerator["context"]; type: "typescript"; renderer: Eta; constructor(context: PluginGenerator["context"]); generate(): Promise; private groupPermissions; }