import * as H from 'history';
import * as React from 'react';
import * as GQL from '../backend/graphqlschema';
export interface SignUpArgs {
    email: string;
    username: string;
    password: string;
}
interface SignUpFormProps {
    location: H.Location;
    history: H.History;
    /** Called to perform the signup on the server. */
    doSignUp: (args: SignUpArgs) => Promise<void>;
    buttonLabel?: string;
}
interface SignUpFormState {
    email: string;
    username: string;
    password: string;
    error?: Error;
    loading: boolean;
}
export declare class SignUpForm extends React.Component<SignUpFormProps, SignUpFormState> {
    private subscriptions;
    constructor(props: SignUpFormProps);
    render(): JSX.Element | null;
    private onEmailFieldChange;
    private onUsernameFieldChange;
    private onPasswordFieldChange;
    private handleSubmit;
}
interface SignUpPageProps {
    location: H.Location;
    history: H.History;
    user: GQL.IUser | null;
}
export declare class SignUpPage extends React.Component<SignUpPageProps> {
    componentDidMount(): void;
    render(): JSX.Element | null;
    private doSignUp;
}
export {};
//# sourceMappingURL=SignUpPage.d.ts.map