import type { Client } from '@botpress/client';
import type { PluginRegistry } from '../registry/plugin-registry.js';
import type { IntegrationRegistry } from '../registry/integration-registry.js';
import type { DependencyStateData, PluginDependencyEntry } from '../types.js';
interface CloudPlugin {
    name?: string;
    version?: string;
    enabled?: boolean;
    configuration?: Record<string, unknown>;
    interfaces?: Record<string, {
        integrationAlias?: string;
        integrationInterfaceAlias?: string;
    }>;
}
export interface PluginResolverOptions {
    registry: PluginRegistry;
    integrationRegistry: IntegrationRegistry;
    client: Client;
}
export declare class PluginResolver {
    private readonly registry;
    private readonly integrationRegistry;
    private readonly client;
    constructor(opts: PluginResolverOptions);
    toDependencyEntry(cloud: CloudPlugin): PluginDependencyEntry;
    applyToCloud(opts: {
        botId: string;
        alias: string;
        entry: PluginDependencyEntry;
        state: DependencyStateData;
    }): Promise<void>;
    removeFromCloud(opts: {
        botId: string;
        alias: string;
    }): Promise<void>;
}
export {};
//# sourceMappingURL=plugin-resolver.d.ts.map