/**
* MTKruto - Cross-runtime JavaScript library for building Telegram clients
* Copyright (C) 2023-2026 Roj
*
* This file is part of MTKruto.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see .
*/
import { Api } from "../2_tl.js";
import { type ChatPhoto } from "./0_chat_photo.js";
import { type EmojiStatus } from "./0_emoji_status.js";
import { type RestrictionReason } from "./0_restriction_reason.js";
import { type UserStatus } from "./0_user_status.js";
import type { ChatPPrivate } from "./1_chat_p.js";
/** A user. */
export interface User {
/** Unique identifier for this user or bot */
id: number;
/** Identifier of color that can be displayed instead of the user's photo. */
color: number;
/** Whether the user is a bot. */
isBot: boolean;
/** The first name of the user. */
firstName: string;
/** The last name of the user. */
lastName?: string;
/** The user’s main username. */
username?: string;
/** The user's phone number. */
phoneNumber?: string;
/** The user's additional usernames. */
also?: string[];
/** The user's status. */
status?: UserStatus;
/** The user's emoji status. */
emojiStatus?: EmojiStatus;
/** The user's profile photo. */
photo?: ChatPhoto;
/** The user's [IETF language tag](https://en.wikipedia.org/wiki/IETF_language_tag). */
languageCode?: string;
/** Whether the user is the current user. */
isSelf: boolean;
/** Whether the user has been deleted. */
isDeleted: boolean;
/** Whether the user is a contact. */
isContact: boolean;
/** Whether the user is a mutual contact. */
isMutualContact: boolean;
/** Whether the user is a close friend. */
isCloseFriend: boolean;
/** Whether the user has been identified as scam. */
isScam: boolean;
/** Whether the user has been identified as an impersonator. */
isFake: boolean;
/** Whether the user is subscribed to Telegram Premium. */
isPremium: boolean;
/** Whether the user has been verified. */
isVerified: boolean;
/** Whether the user is official support. */
isSupport: boolean;
/** Whether the user has been restricted. */
isRestricted: boolean;
/** The reason why the user has been restricted. */
restrictionReason?: RestrictionReason[];
/** Whether the user is a bot that has been added to the attachment menu by the current user. */
isAddedToAttachmentsMenu?: boolean;
/** Whether the user is a bot that has a main mini app. */
hasMainMiniApp?: boolean;
/** Whether the user is a bot that supports guest queries. */
isGuestQuerySupported?: boolean;
}
export declare function constructUser(user_: Api.user): User;
export declare function constructUser2(chatP: ChatPPrivate): User;
//# sourceMappingURL=2_user.d.ts.map