import { AsyncModel, Fetcher } from '@difizen/magent-core';
import { Emitter } from '@difizen/mana-app';
import { ToolConfigOption } from './protocol.js';
export declare class ToolConfig extends AsyncModel<ToolConfig, ToolConfigOption> {
    protected fetcher: Fetcher;
    id: number;
    pluginId: number;
    apis?: number[];
    isDraft: boolean;
    protected onChanagedEmitter: Emitter<ToolConfig>;
    get onChanged(): import("@difizen/mana-app").Event<ToolConfig>;
    protected _pluginOpenapiDesc: string;
    get pluginOpenapiDesc(): string;
    set pluginOpenapiDesc(v: string);
    option?: ToolConfigOption;
    constructor(option: ToolConfigOption, fetcher: Fetcher);
    shouldInitFromMeta(option: ToolConfigOption): boolean;
    protected fromMeta(option: ToolConfigOption): void;
    fetchInfo(option: ToolConfigOption): Promise<void>;
    toMeta(): ToolConfigOption;
    protected deferSave: (meta?: ToolConfigOption) => Promise<boolean> | undefined;
    protected changed: () => void;
    save(meta?: ToolConfigOption): Promise<boolean>;
}
//# sourceMappingURL=tool-config.d.ts.map