import Command, { flags } from '../../base';
import { Config, Team, Invite } from '../../types';
export interface InviteInputs {
    config: Config;
    invitees: string;
    inviteesArray: string[];
    team: Team;
    inviteResponses: Invite[];
}
export default class TeamInvite extends Command {
    static description: string;
    static strict: boolean;
    static flags: {
        help: import("@oclif/parser/lib/flags").IBooleanFlag<void>;
        invitees: flags.IOptionFlag<string | undefined>;
    };
    getInvitesPrompt: (inputs: InviteInputs) => Promise<InviteInputs>;
    /**
     * Splits the invitees by either string or space
     * Handles the case of:
     * "username1,username2,username3" => ["username1", "username2", "username3"]
     * "username1, username2, username3" => ["username1", "username2", "username3"]
     * "username1 username2 username3" => ["username1", "username2", "username3"]
     * "username1,username2 username3" => ["username1", "username2", "username3"]
     * ", username1      ,   username2,,,,,,      username3 ,," => ["username1", "username2", "username3"]
     */
    splitInvitees: (inputs: InviteInputs) => InviteInputs;
    inviteUserToTeam: (inputs: InviteInputs) => Promise<InviteInputs>;
    printInviteResponses: (inputs: InviteInputs) => InviteInputs;
    sendAnalytics: (config: Config) => (inputs: InviteInputs) => void;
    run(): Promise<void>;
}
