import MetadataRegistry = require('./metadataRegistry');
import { SourceWorkspaceAdapter } from './sourceWorkspaceAdapter';
import { AggregateSourceElements } from './aggregateSourceElements';
declare class SourceConvertApi {
    static revert?: boolean;
    static err?: Error;
    [property: string]: any;
    sourceWorkspaceAdapter: SourceWorkspaceAdapter;
    constructor(org: any, swa?: SourceWorkspaceAdapter);
    /**
     *   Takes an array of strings, surrounds each string with single quotes, then joins the values.
     *   Used for building a query condition. E.g., WHERE MemberName IN ('Foo','Bar')
     *   The server uses '/' file path separators, but on windows we could be passed 'Reports\ReportA' we need to change this
     */
    static singleQuoteJoin(arr: string[]): string;
    private initWorkspaceAdapter;
    doConvert(context: any): Promise<any[]>;
    convertSourceToMdapi(targetPath: string, packageName: string, aggregateSourceElementsMap: AggregateSourceElements, createDestructiveChangesManifest: boolean, unsupportedMimeTypes: any, isSourceDelete?: boolean): Promise<any[]>;
    /**
     * Sorts the source elements into those that should be added to the destructiveChangesPost.xml
     * and those that should be added to the package.xml
     *
     * @returns {[[],[]]} - the array of destructive changes and the array of elements to be added to the package.xml
     * @private
     */
    static sortSourceElementsForMdDeploy(aggregateSourceElements: any, metadataRegistry: MetadataRegistry): any[][];
    static populateMdDir(targetPath: any, aggregateSourceElements: any, unsupportedMimeTypes?: any, forceIgnore?: any): Promise<any>;
    static createPackageManifests(outputdir: any, packageName: any, destructiveChangesTypeNamePairs: any, updatedAggregateSourceElements: any, scratchOrg: any, metadataRegistry?: any): any;
    static getUpdatedSourceTypeNamePairs(updatedAggregateSourceElements: any, metadataRegistry: any): any;
    static addNoDupes(typeNamePairs: any, typeNamePair: any, keys: any): void;
}
export = SourceConvertApi;
