import { BitId } from '../../../bit-id';
import Consumer from '../../consumer';
export declare const mergeOptionsCli: {
    o: string;
    t: string;
    m: string;
};
export declare const MergeOptions: {
    ours: string;
    theirs: string;
    manual: string;
};
export declare type MergeStrategy = keyof typeof MergeOptions;
export declare const FileStatus: {
    merged: string;
    manual: string;
    updated: string;
    added: string;
    overridden: string;
    unchanged: string;
};
export declare type FilesStatus = {
    [fileName: string]: keyof typeof FileStatus;
};
export declare type ApplyVersionResult = {
    id: BitId;
    filesStatus: FilesStatus;
};
export declare type FailedComponents = {
    id: BitId;
    failureMessage: string;
};
export declare type ApplyVersionResults = {
    components?: ApplyVersionResult[];
    version?: string;
    failedComponents?: FailedComponents[];
};
export declare function mergeVersion(consumer: Consumer, version: string, ids: BitId[], mergeStrategy: MergeStrategy): Promise<ApplyVersionResults>;
export declare function getMergeStrategyInteractive(): Promise<MergeStrategy>;
export declare function getMergeStrategy(ours: boolean, theirs: boolean, manual: boolean): MergeStrategy | null | undefined;
