import type { Controller, Middleware, ObjectSchema } from '@becomes/purple-cheetah/types'; import type { BCMSPluginInfo } from './info'; import type { BCMSPluginPolicy } from './policy'; export interface BCMSPluginConfig { name: string; policy?(): Promise; controllers?: Controller[]; middleware?: Middleware[]; } export declare const BCMSPluginConfigSchema: ObjectSchema; export interface BCMSPlugin { name: string; policy(): Promise; controllers: Controller[]; middleware: Middleware[]; } export declare const BCMSPluginSchema: ObjectSchema; export interface BCMSPluginManager { getList(): string[]; getListInfo(): BCMSPluginInfo[]; }