import { type HistoryEntry } from "../auto-reply/reply/history.js";
import { type NormalizedLocation } from "../channels/location.js";
import type { OpenClawConfig } from "../config/config.js";
import type { TelegramDirectConfig, TelegramGroupConfig, TelegramTopicConfig } from "../config/types.js";
import type { NormalizedAllowFrom } from "./bot-access.js";
import type { TelegramLogger, TelegramMediaRef, TelegramMessageContextOptions } from "./bot-message-context.types.js";
import type { TelegramContext } from "./bot/types.js";
export type TelegramInboundBodyResult = {
    bodyText: string;
    rawBody: string;
    historyKey?: string;
    commandAuthorized: boolean;
    effectiveWasMentioned: boolean;
    canDetectMention: boolean;
    shouldBypassMention: boolean;
    stickerCacheHit: boolean;
    locationData?: NormalizedLocation;
};
export declare function resolveTelegramInboundBody(params: {
    cfg: OpenClawConfig;
    primaryCtx: TelegramContext;
    msg: TelegramContext["message"];
    allMedia: TelegramMediaRef[];
    isGroup: boolean;
    chatId: number | string;
    senderId: string;
    senderUsername: string;
    resolvedThreadId?: number;
    routeAgentId?: string;
    effectiveGroupAllow: NormalizedAllowFrom;
    effectiveDmAllow: NormalizedAllowFrom;
    groupConfig?: TelegramGroupConfig | TelegramDirectConfig;
    topicConfig?: TelegramTopicConfig;
    requireMention?: boolean;
    options?: TelegramMessageContextOptions;
    groupHistories: Map<string, HistoryEntry[]>;
    historyLimit: number;
    logger: TelegramLogger;
}): Promise<TelegramInboundBodyResult | null>;
