import type { HistoryEntry, HistoryMediaEntry } from "../../auto-reply/reply/history.types.js"; type MaybePromise = T | Promise; export type ChannelHistoryWindow = { record: (params: { historyKey: string; entry?: T | null; limit: number; }) => T[]; recordWithMedia: (params: { historyKey: string; entry?: T | null; limit: number; media?: readonly HistoryMediaEntry[] | null | (() => MaybePromise); mediaLimit?: number; messageId?: string; shouldRecord?: () => boolean; }) => Promise; buildPendingContext: (params: { historyKey: string; limit: number; currentMessage: string; formatEntry: (entry: T) => string; lineBreak?: string; }) => string; buildInboundHistory: (params: { historyKey: string; limit: number; }) => HistoryEntry[] | undefined; clear: (params: { historyKey: string; limit: number; }) => void; }; export declare function createChannelHistoryWindow(params: { historyMap: Map; }): ChannelHistoryWindow; export {};