export type PluginArgs = { directory: string; }; export declare enum PluginType { Repo = "repo", RepoOrWorkspace = "repoOrWorkspace", Monorepo = "monorepo", Workspace = "workspace" } export type Plugin = { type: PluginType; install: (args: PluginArgs) => Promise; remove: (args: PluginArgs) => Promise; load: (args: PluginArgs) => Promise; }; type DirOption = { directory: string; }; type PluginOptions = DirOption & { name: string; }; export declare function isPlugin(plugin: unknown): plugin is Plugin; export declare function importPlugin({ directory, name }: PluginOptions): Promise; export declare function validateType({ directory, name, type, }: DirOption & { name: string; type: PluginType; }): Promise; export declare function installPlugin({ directory, name }: PluginOptions): Promise; export declare function removePlugin({ directory, name }: PluginOptions): Promise; export declare function loadPlugin({ directory, name }: PluginOptions): Promise; export declare function loadAllPlugins({ directory }: { directory: string; }): Promise; export declare function getPlugins({ directory }: { directory: string; }): Promise; export declare function hasPlugin({ directory, name, }: { directory: string; name: string; }): Promise; export {}; //# sourceMappingURL=plugin.d.ts.map