import { ICommandArguments, ICommandOptionDefinition, IProfile, Session } from "@zowe/imperative";
import { OptionUtils } from "../../api";
/**
 * Utility Methods for Endevor Bridge for Git Session
 */
export declare class EBGSession extends OptionUtils {
    static readonly PROFILE_TYPE = "ebg";
    static readonly EBG_SESSION_OPTION_GROUP = "Endevor Bridge for Git connection options (alternatively use an 'ebg' profile)";
    static readonly DEFAULT_PROTOCOL = "https";
    static readonly DEFAULT_REJECT_UNAUTHORIZED = false;
    static readonly DEFAULT_BASE_PATH = "rest/evcs/v1";
    /**
     * Option used in profile creation and commands for protocol for Endevor Bridge for Git
     */
    static readonly EBG_OPTION_PROTOCOL: ICommandOptionDefinition;
    /**
     * Option used in profile creation and commands for hostname for Endevor Bridge for Git
     */
    static readonly EBG_OPTION_HOST: ICommandOptionDefinition;
    /**
     * Option used in profile creation and commands for port for Endevor Bridge for Git
     */
    static readonly EBG_OPTION_PORT: ICommandOptionDefinition;
    /**
     * Option used in profile creation and commands for username / ID for Endevor Bridge for Git
     */
    static readonly EBG_OPTION_USER: ICommandOptionDefinition;
    /**
     * Option used in profile creation and commands for password/passphrase for Endevor Bridge for Git
     */
    static readonly EBG_OPTION_GIT_PERSONAL_ACCESS_TOKEN: ICommandOptionDefinition;
    /**
     * Option used in profile creation and commands for rejectUnauthorized setting for connecting to Endevor Bridge for Git
     */
    static readonly EBG_OPTION_REJECT_UNAUTHORIZED: ICommandOptionDefinition;
    /**
     * Options related to connecting to Endevor Bridge for Git
     * These options can be filled in if the user creates a profile
     */
    static EBG_CONNECTION_OPTIONS: ICommandOptionDefinition[];
    /**
     * Creates the Endevor Bridge for Git connection session if and only if all the required options are provided
     *
     * @param args command arguments
     * @param profile Endevor Bridge for Git profile
     */
    createSession(args: ICommandArguments, profile?: IProfile): Session;
}
