/**
* 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 } 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 is_animated and is_video. */
type: "regular" | "mask" | "customEmoji";
/** Sticker width */
width: number;
/** Sticker height */
height: number;
/** True, if the sticker is [animated](https://telegram.org/blog/animated-stickers) */
isAnimated: boolean;
/** True, if the sticker is a [video sticker](https://telegram.org/blog/video-stickers-better-reactions) */
isVideo: boolean;
/** Sticker thumbnail in the .WEBP or .JPG format */
thumbnails: Thumbnail[];
/** Emoji associated with the sticker */
emoji?: string;
/** Name of the sticker set to which the sticker belongs */
setName?: string;
/** For premium regular stickers, premium animation for the sticker */
premiumAnimation?: File;
/** 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;
/** True, if the sticker must be repainted to a text color in messages, the color of the Telegram Premium badge in emoji status, white color on chat photos, or another appropriate color in other places */
needsRepainting?: 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;
//# sourceMappingURL=1_sticker.d.ts.map