import * as React from 'react';
export interface UserTableRowProps {
    id: string;
    name: string;
    email: string;
    createdAt: Date;
    lastLogin: Date;
    profileImageUrl: string;
    roleIds: string[];
    roles: any[];
    onEditUser: Function;
    onDeleteUser: Function;
}
export default class UserTableRow extends React.Component<UserTableRowProps> {
    private nameInputContainer;
    private nameInput;
    state: {
        editedRoleIds: any;
        editedName: string;
        isEditing: boolean;
        isDeleting: boolean;
        isBusy: boolean;
    };
    componentDidMount(): void;
    componentWillUnmount(): void;
    private handleMouseDown;
    private prepareItem;
    private onCancelDelete;
    private onConfirmDelete;
    onNameChanged: (e: any) => void;
    editItemName: () => Promise<void>;
    toggleEditName: (editMode: boolean) => void;
    onEditNameKeyPress: (e: any) => void;
    onDeleteItem: () => void;
    renderItemRole: () => JSX.Element;
    onRolesChanged: (roles: any) => void;
    render(): JSX.Element;
}
