import type TelegramBot from "node-telegram-bot-api";
import type { StoredTelegramMessage, TelegramChatAccessEntry, TelegramChatKind } from "../config/types.js";
type SupportedChatType = "private" | "group" | "supergroup";
type SupportedTelegramChat = Pick<TelegramBot.Chat, "id" | "title" | "first_name" | "last_name" | "username"> & {
    type: SupportedChatType;
};
type SupportedTelegramFrom = Pick<TelegramBot.User, "id" | "first_name" | "last_name" | "username">;
export type TelegramMessageLike = Pick<TelegramBot.Message, "message_id" | "date" | "text" | "caption"> & {
    chat: SupportedTelegramChat;
    from?: SupportedTelegramFrom;
    photo?: Pick<TelegramBot.PhotoSize, "file_id">[];
    document?: Pick<TelegramBot.Document, "file_id" | "file_name" | "mime_type">;
    voice?: Pick<TelegramBot.Voice, "file_id" | "mime_type">;
    video?: Pick<TelegramBot.Video, "file_id" | "mime_type">;
    sticker?: Pick<TelegramBot.Sticker, "file_id">;
};
export declare function getTelegramChatKind(chatType: TelegramBot.Chat["type"]): TelegramChatKind | null;
export declare function buildTelegramTitle(message: TelegramMessageLike): string;
export declare function buildTelegramPreview(message: TelegramMessageLike): string;
export declare function createTelegramAccessEntry(message: TelegramMessageLike): TelegramChatAccessEntry;
export declare function serializeTelegramMessage(message: TelegramMessageLike, entryId: string): StoredTelegramMessage;
export declare function formatTelegramAccessSummary(entry: TelegramChatAccessEntry): string;
export {};
//# sourceMappingURL=telegram-access.d.ts.map