export declare class GxIdeSignInTeam {
    #private;
    el: HTMLGxIdeSignInTeamElement;
    /**
     * This is a handover from "authStep" that allows updating descriptions once
     * the slide is hidden. This enables a smooth transition between descriptions.
     */
    authStepInternal: AuthStep;
    /**
     * Defines if the main slide is visible or not. Used for smooth transitions
     * between slides.
     */
    slideIsVisible: boolean;
    /**
     * True if terms and conditions are accepted.
     */
    termsAndConditionsAccepted: boolean;
    /**
     * The authentication step to display
     */
    readonly authStep: AuthStep;
    authStepChanged(newAuthStep: AuthStep): void;
    /**
     * Callback executed when the user clicks the 'Continue' button
     */
    readonly continueCallback: (teamId: string) => Promise<void>;
    /**
     * Callback executed when the user click the "Sign In" button
     */
    readonly signInCallback: () => Promise<void>;
    /**
     * When true, it will diplay checkboxes for the user to confirm terms and conditions
     */
    readonly termsConfirmationRequired: boolean;
    /**
     * Array that contains the user's teams
     */
    readonly teams: TeamData[];
    teamsChanged(newTeams: TeamData[]): void;
    /**
     * Callback executed when the user clicks on the "term and conditions" link
     */
    readonly termsCallback: () => Promise<void>;
    /**
     * Callback executed when the user clicks on the "privacy policy" link
     */
    readonly privacyCallback: () => Promise<void>;
    componentWillLoad(): Promise<void>;
    render(): any;
}
export type AuthStep = "signIn" | "fetchUserTeams" | "selectUserTeam" | "settingUpSession";
export type TeamData = {
    id: string;
    name: string;
};
