import * as React from "react";
import { TextStyle } from "react-native";
export interface ISocialLoginProps {
    loginText?: string;
    signUpText?: string;
    loginTitleText?: string;
    forgotPasswordText?: string;
    loginButtonShadowColor?: string;
    loginButtonBackgroundColor?: string;
    usernamePlaceholder?: string;
    passwordPlaceholder?: string;
    enableFacebookLogin?: boolean;
    enableTwitterLogin?: boolean;
    enableGoogleLogin?: boolean;
    enableDiscordLogin?: boolean;
    loginTextStyle?: TextStyle;
    signUpTextStyle?: TextStyle;
    forgotPasswordTextStyle?: TextStyle;
    backArrowImageSource?: any;
    loginButtonTextStyle?: any;
    usernameTextFieldStyle?: any;
    passwordTextFieldStyle?: any;
    rightTopAssetImageSource?: any;
    leftBottomAssetImageSource?: any;
    onLoginPress: (username: string | undefined, password: string | undefined) => void;
    onSignUpPress: () => void;
    onForgotPasswordPress: () => void;
    onFacebookLoginPress?: () => void;
    onTwitterLoginPress?: () => void;
    onGoogleLoginPress?: () => void;
    onDiscordLoginPress?: () => void;
    onUserNameChangeText: (text: string) => void;
    onPasswordChangeText: (text: string) => void;
    requiredSignup?: boolean;
    requiredRestPassword?: boolean;
}
interface IState {
    username?: string;
    password?: string;
}
export default class SocialLoginScreen extends React.PureComponent<ISocialLoginProps, IState> {
    state: {
        username: string;
        password: string;
    };
    renderHeader: () => JSX.Element;
    captureData: (data: any, key: any) => void;
    renderLoginTitle: () => JSX.Element;
    renderTextFieldContainer: () => JSX.Element;
    renderForgotPassword: () => JSX.Element;
    loginClick: () => void;
    renderClassicLoginButton: () => JSX.Element;
    renderFacebookLoginButton: () => JSX.Element;
    renderTwitterLoginButton: () => JSX.Element;
    renderGoogleLoginButton: () => JSX.Element;
    renderDiscordLoginButton: () => JSX.Element;
    renderSocialButtons: () => JSX.Element;
    renderRightTopAsset: () => JSX.Element;
    renderLeftBottomAsset: () => JSX.Element;
    render(): JSX.Element;
}
export {};
