/**
 * @author: Prachi Singh (prachi@hackcapital.com)
 * @date: Tuesday, 5th November 2019 1:11:40 pm
 * @lastModifiedBy: Prachi Singh (prachi@hackcapital.com)
 * @lastModifiedTime: Monday, 18th November 2019 4:28:12 pm
 *
 * DESCRIPTION: ops add
 *
 * @copyright (c) 2019 Hack Capital
 */
import Command from '../base';
import { OpCommand, OpWorkflow, Config } from '../types';
declare type OpFilter = {
    opTeamName: string;
    opName: string;
    opVersionName: string;
};
interface AddInputs {
    opName: string;
    config: Config;
    ops: (OpCommand | OpWorkflow)[];
    opFilter: OpFilter;
    addedOpID: number;
}
export default class Add extends Command {
    static description: string;
    static flags: {
        help: import("@oclif/parser/lib/flags").IBooleanFlag<void>;
    };
    static args: {
        name: string;
        description: string;
    }[];
    ops: (OpCommand | OpWorkflow)[];
    promptFilter: (inputs: AddInputs) => Promise<AddInputs>;
    isOpAlreadyInTeam: (opResults: (OpCommand | OpWorkflow)[], opName: string, opTeamName: string, opVersionName: string, myTeamName: string) => boolean;
    getAllMyOps: (config: Config) => Promise<(OpCommand | OpWorkflow)[]>;
    getAllPublicOps: (inputs: AddInputs) => Promise<AddInputs>;
    private _fuzzyFilterParams;
    _formatOpOrWorkflowName: (op: OpCommand | OpWorkflow) => string;
    private _autocompleteSearch;
    selectOpPrompt: (inputs: AddInputs) => Promise<AddInputs>;
    checkValidOpName: (inputs: AddInputs) => Promise<AddInputs>;
    splitOpName: (inputs: AddInputs) => AddInputs;
    addOp: (inputs: AddInputs) => Promise<AddInputs>;
    sendAnalytics: (inputs: AddInputs) => Promise<AddInputs>;
    getSuccessMessage: (inputs: AddInputs) => AddInputs;
    run(): Promise<void>;
}
export {};
