/**
* 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 Location } from "./0_location.js";
import { type Animation } from "./1_animation.js";
import type { PeerGetter } from "./1_chat_p.js";
import { type Photo } from "./1_photo.js";
import { type Sticker, type StickerSetNameGetter } from "./1_sticker.js";
import { type Venue } from "./1_venue.js";
import { type Video } from "./1_video.js";
import { type LinkPreview } from "./5_link_preview.js";
/** @unlisted */
export interface PollMediaAnimation {
type: "animation";
/** The animation. */
animation: Animation;
}
/** @unlisted */
export interface PollMediaPhoto {
type: "photo";
/** The photo. */
photo: Photo;
}
/** @unlisted */
export interface PollMediaVideo {
type: "video";
/** The video. */
video: Video;
}
/** @unlisted */
export interface PollMediaSticker {
type: "sticker";
/** The sticker. */
sticker: Sticker;
}
/** @unlisted */
export interface PollMediaVenue {
type: "venue";
/** The venue. */
venue: Venue;
}
/** @unlisted */
export interface PollMediaLink {
type: "link";
/** The URL. */
url: string;
/** The link preview. */
linkPreview: LinkPreview;
}
/** @unlisted */
export interface PollMediaLivePhoto {
type: "livePhoto";
/** The photo. */
photo: Photo;
/** The video version of the photo. */
video: Video;
}
/** @unlisted */
export interface PollMediaLocation {
type: "location";
/** The location. */
location: Location;
}
/** Any type of poll option media. */
export type PollMedia = PollMediaAnimation | PollMediaPhoto | PollMediaVideo | PollMediaSticker | PollMediaLivePhoto | PollMediaLocation | PollMediaVenue | PollMediaLink;
export declare function constructPollMedia(media: Api.MessageMedia, getStickerSetName: StickerSetNameGetter, getPeer: PeerGetter): Promise;
//# sourceMappingURL=6_poll_media.d.ts.map