import { MinimalEmbedding } from "../types";
import { Plugin, PluginContext, PluginMeta } from "./types";
export declare abstract class PluginBase implements Plugin {
    protected context: PluginContext;
    private active;
    abstract readonly meta: PluginMeta;
    constructor(context?: PluginContext);
    enable(): void;
    disable(): void;
    isEnabled(): boolean;
    protected hasRequiredEnv(): boolean;
    protected customEnableCheck(): boolean;
    protected log(message: string, level?: "info" | "warn" | "error"): void;
    callMany(input?: string): Promise<string>;
    abstract call(input?: string): Promise<string>;
    abstract embed(input: string): Promise<MinimalEmbedding[]>;
}
export { PluginMeta, Plugin } from "./types";
