import { ICommandArguments, ICommandOptionDefinition, IProfile, Session } from "@zowe/imperative";
import { OptionUtils } from "../../api";
/**
 * Utility Methods for z/OSMF Session
 */
export declare class ZosmfSession extends OptionUtils {
    static readonly PROFILE_TYPE = "zosmf";
    static readonly OPTION_PREFIX = "zosmf-";
    static readonly ZOSMF_SESSION_OPTION_GROUP: string;
    /**
     * Option used in profile creation and commands for hostname for z/OSMF
     */
    static ZOSMF_OPTION_HOST: ICommandOptionDefinition;
    /**
     * Option used in profile creation and commands for port for z/OSMF
     */
    static ZOSMF_OPTION_PORT: ICommandOptionDefinition;
    /**
     * Option used in profile creation and commands for username / ID  for z/OSMF
     */
    static ZOSMF_OPTION_USER: ICommandOptionDefinition;
    /**
     * Option used in profile creation and commands for password/passphrase for z/OSMF
     */
    static ZOSMF_OPTION_PASSWORD: ICommandOptionDefinition;
    /**
     * Option used in profile creation and commands for rejectUnauthorized setting for connecting to z/OSMF
     */
    static ZOSMF_OPTION_REJECT_UNAUTHORIZED: ICommandOptionDefinition;
    /**
     * Option used in profile creation and commands for base path for z/OSMF
     */
    static ZOSMF_OPTION_BASE_PATH: ICommandOptionDefinition;
    /**
     * Options related to connecting to ZOSFM
     * These options can be filled in if the user creates a profile
     */
    static ZOSMF_CONNECTION_OPTIONS: ICommandOptionDefinition[];
    /**
     * Creates the z/OSMF connection session if and only if all the required options are provided
     *
     * @param args command arguments
     * @param profile z/OSMF profile
     * @param baseProfile Base profile
     */
    getSession(args: ICommandArguments, profile?: IProfile, baseProfile?: IProfile): Session;
    protected getOptionPrefix(): string;
}
