import * as React from 'react';
import * as GQL from '../../backend/graphqlschema';
interface Props {
    orgID: string;
    authenticatedUser: GQL.IUser | null;
    /** Called when the organization members list changes. */
    onDidUpdateOrganizationMembers: () => void;
    onOrganizationUpdate: () => void;
}
interface SubmittedInvite extends Pick<GQL.IInviteUserToOrganizationResult, 'sentInvitationEmail' | 'invitationURL'> {
    username: string;
}
interface State {
    username: string;
    /** Loading state (undefined means not loading). */
    loading?: 'inviteUserToOrganization' | 'addUserToOrganization';
    invited?: SubmittedInvite[];
    error?: Error;
}
export declare class InviteForm extends React.PureComponent<Props, State> {
    state: State;
    private submits;
    private inviteClicks;
    private usernameChanges;
    private componentUpdates;
    private subscriptions;
    componentDidMount(): void;
    componentWillReceiveProps(nextProps: Props): void;
    componentWillUnmount(): void;
    private readonly viewerCanAddUserToOrganization;
    render(): JSX.Element | null;
    private onUsernameChange;
    private onSubmit;
    private onInviteClick;
    private dismissNotification;
}
export {};
//# sourceMappingURL=InviteForm.d.ts.map