import { Location } from "./location.model";
import { PageInfo } from "./page-info.model";
export declare class PresenceUser {
    /**
     * Unique user identifier that you use to identify your user.
     */
    userId: string;
    /**
     * Your user's full name.
     *
     * Default: Random avatar name.
     */
    name?: string;
    /**
     * Your user's email address.
     */
    email?: string;
    /**
    * Your user's display picture URL.
    *
    * Default: Random avatar image.
    */
    photoUrl?: string;
    /**
    * Auto updated when the user has their tab focused, inactive or closed.
    * Values: active, inactive or offline.
    *
    * Auto generated.
    */
    onlineStatus: string;
    /**
     * Auto generated unique user id that is linked with your app's user ID.
     * This is needed by us for internal processing.
     */
    userSnippylyId?: string;
    /**
     * A random color is assigned to the user for the current session.
     * This is the color on the avatar border and live cursor, if these features are enabled.
     */
    color?: string;
    /**
    * This is the color on the avatar text.
    */
    textColor?: string;
    /**
     * Server Timestamp.
     *
     */
    timestamp: any;
    /**
    * User type.
    *
    */
    type?: string;
    selections?: any;
    /**
     * Unique document params id generated from prvoided document params
     * @deprecated `documentParamsId` is deprecated and will be removed in next release, use `locationId` instead.
     */
    documentParamsId?: number | null;
    /**
     * Set document params to identify user on sub document
     * @deprecated `documentParams` is deprecated and will be removed in next release, use `location` instead.
     */
    documentParams?: object | null;
    /**
     * Unique location id generated from prvoided location
     */
    locationId?: number | null;
    /**
     * Set location to identify user on sub document
     */
    location?: Location | null;
    /**
     * Readonly user
     */
    isReadOnly?: boolean;
    /**
     * Anonymous user can only view the comments
     */
    isAnonymous?: boolean;
    pageInfo: PageInfo;
    initial?: string;
    isTabAway?: boolean;
    isUserIdle?: boolean;
    /**
     * Whether this custom user is local-only (not persisted to DB).
     * Only applicable to users added via addUser API.
     */
    localOnly?: boolean;
}
