import * as React from 'react';
import { RouteComponentProps } from 'react-router';
import * as GQL from '../../backend/graphqlschema';
import { ErrorLike } from '../../util/errors';
import { UserAreaRouteContext } from '../area/UserArea';
interface Props extends UserAreaRouteContext, RouteComponentProps<{}> {
}
interface State {
    /** The user to edit, or an error, or undefined while loading. */
    userOrError?: GQL.IUser | ErrorLike;
    loading: boolean;
    saved: boolean;
    error?: ErrorLike;
    /** undefined means unchanged from Props.user */
    username?: string;
    displayName?: string;
    avatarURL?: string;
}
export declare class UserAccountProfilePage extends React.Component<Props, State> {
    state: State;
    private componentUpdates;
    private refreshRequests;
    private submits;
    private subscriptions;
    componentDidMount(): void;
    componentWillReceiveProps(nextProps: Props): void;
    componentWillUnmount(): void;
    render(): JSX.Element | null;
    private onUsernameFieldChange;
    private onDisplayNameFieldChange;
    private onAvatarURLFieldChange;
    private handleSubmit;
    private handleError;
}
export {};
//# sourceMappingURL=UserAccountProfilePage.d.ts.map