export interface IntegrationInfo {
    alias: string;
    name: string;
    version: string;
    fullVersion: string;
}
export interface SyncResult {
    synced: IntegrationInfo[];
    errors: Array<{
        alias: string;
        error: string;
    }>;
}
export declare class IntegrationSync {
    private projectPath;
    private botProjectPath;
    private bpModulesPath;
    private credentialsPromise;
    constructor(projectPath: string, botProjectPath: string);
    private getCredentials;
    /**
     * Parse agent.config.ts dependencies integrations into IntegrationInfo objects
     */
    private parseIntegrations;
    /**
     * Check if an integration is already installed with the correct version
     */
    private isIntegrationSynced;
    /**
     * Install an integration using bp CLI
     */
    private installIntegration;
    /**
     * Rename integration folder from bp_modules/{name} to bp_modules/integration_{alias}
     */
    private renameIntegrationFolder;
    /**
     * Remove existing integration folder
     */
    private removeIntegrationFolder;
    /**
     * Sync all integrations
     */
    syncIntegrations(): Promise<SyncResult>;
}
//# sourceMappingURL=integration-sync.d.ts.map