import { ComboBoxModel } from "@genexus/chameleon-controls-library";
import { ControlValidation } from "../../../common/form-validation";
import { FormSubmitResult } from "../../../common/types";
import { NewServerConnectionData } from "../server-selector/server-selector";
export declare class HTMLGxIdeConnectGxServer {
    #private;
    el: HTMLGxIdeConnectGxServerElement;
    authenticationTypesComboBoxModel: ComboBoxModel;
    gxServerConnectionData: GXServerConnectionData;
    validatableControls: Map<string, ControlValidation>;
    /**
     * List of authentication types.
     */
    readonly authenticationTypes: AuthenticationType[];
    authenticationTypesChanged(newAuthenticationTypes: AuthenticationType[]): void;
    /**
     * Callback that must be invoked when the 'Cancel' button is pressed.
     */
    readonly cancelCallback: () => Promise<void>;
    /**
     * Callback that must be invoked when the 'Connect' button is pressed.
     */
    readonly connectCallback: (data: GXServerConnectionData) => Promise<FormSubmitResult>;
    /**
     * Initial user values for the case in which the user returns to the
     * login modal after successful authentication.
     */
    readonly defaultConnectionData?: NewServerConnectionData;
    /**
     * true if the user should be allowed to manually enter a server URL.
     */
    readonly enableCustomServer: boolean;
    componentWillLoad(): Promise<void>;
    componentDidLoad(): Promise<void>;
    render(): any;
}
export type GXServerConnectionData = {
    authenticationType: AuthenticationType;
    serverUrl: string;
    userName: string;
    userPassword: string;
    serverName?: string;
};
export type AuthenticationType = {
    id: string;
    name: string;
};
