import { Fetcher } from '@difizen/magent-core';
import { ComponentModel } from '../component-model/component-model.js';
import { ToolManager } from '../tool/tool-manager.js';
import type { ToolModel } from '../tool/tool-model.js';
import type { PluginMeta } from './protocol.js';
export declare class PluginModel extends ComponentModel<PluginModel, PluginMeta> {
    protected fetcher: Fetcher;
    protected toolManager: ToolManager;
    option: PluginMeta;
    toolset: ToolModel[];
    constructor(option: PluginMeta, toolManager: ToolManager, fetcher: Fetcher);
    shouldInitFromMeta(option: PluginMeta): boolean;
    fetchInfo(option: PluginMeta): Promise<void>;
    protected fromMeta(option: PluginMeta): void;
    toMeta: () => PluginMeta;
}
export declare class OpenAPIPluginModel extends PluginModel {
    openapi_desc?: string;
    get openapiDesc(): string | undefined;
    set openapiDesc(v: string | undefined);
    protected fromMeta(option: PluginMeta): void;
    toMeta: () => PluginMeta;
}
//# sourceMappingURL=plugin-model.d.ts.map