import type { WebhookEvent } from "@line/bot-sdk"; import type { OpenClawConfig } from "openclaw/plugin-sdk/config-runtime"; import { type HistoryEntry } from "openclaw/plugin-sdk/reply-history"; import type { RuntimeEnv } from "openclaw/plugin-sdk/runtime"; import { type LineInboundContext } from "./bot-message-context.js"; import type { ResolvedLineAccount } from "./types.js"; export interface LineHandlerContext { cfg: OpenClawConfig; account: ResolvedLineAccount; runtime: RuntimeEnv; mediaMaxBytes: number; processMessage: (ctx: LineInboundContext) => Promise; replayCache?: LineWebhookReplayCache; groupHistories?: Map; historyLimit?: number; } export type LineWebhookReplayCache = { seenEvents: Map; inFlightEvents: Map>; lastPruneAtMs: number; }; export declare function createLineWebhookReplayCache(): LineWebhookReplayCache; export declare function handleLineWebhookEvents(events: WebhookEvent[], context: LineHandlerContext): Promise;