/** * 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 { type MaybePromise } from "../1_utilities.js"; import { Api, SecretChats } from "../2_tl.js"; import { type MaskPosition } from "./0_mask_position.js"; import { type Thumbnail } from "./0_thumbnail.js"; /** A sticker. */ export interface Sticker { /** A file identifier that can be used to download or reuse this file. */ fileId: string; /** A file identifier that can be used to identify this file. */ fileUniqueId: string; /** Type of the sticker, currently one of "regular", "mask", "customEmoji". The type of the sticker is independent from its format, which is determined by the fields isAnimated and isVideo. */ type: "regular" | "mask" | "customEmoji"; /** The width of the sticker. */ width: number; /** The height of the sticker. */ height: number; /** Whether the sticker is animated. */ isAnimated: boolean; /** Whether the sticker is a video. */ isVideo: boolean; /** Thumbnails of the sticker in the WebP or JPG. */ thumbnails: Thumbnail[]; /** The emoji associated with the sticker. */ emoji?: string; /** Name of the sticker set where the sticker belongs. */ setName?: string; /** For mask stickers, the position where the mask should be placed. */ maskPosition?: MaskPosition; /** For custom emoji stickers, unique identifier of the custom emoji. */ customEmojiId?: string; /** Whether the sticker needs repainting. */ isRepaintingNeeded?: boolean; /** File size in bytes. */ fileSize?: number; } /** @unlisted */ export type StickerSetNameGetter = (inputStickerSet: Api.inputStickerSetID) => MaybePromise; export declare function constructSticker(document: Api.document, fileId: string, fileUniqueId: string, getStickerSetName: StickerSetNameGetter, customEmojiId?: string): Promise; export declare function constructSticker2(document: Api.document, fileId: string, fileUniqueId: string, setName: string | undefined, customEmojiId?: string): Sticker; export declare function constructSticker3(document: SecretChats.decryptedMessageMediaExternalDocument | SecretChats.decryptedMessageMediaDocument46 | SecretChats.decryptedMessageMediaDocument, fileId: string, fileUniqueId: string): Sticker; //# sourceMappingURL=1_sticker.d.ts.map