import { messagingApi } from "@line/bot-sdk"; import { type OpenClawConfig } from "openclaw/plugin-sdk/config-runtime"; import type { LineSendResult } from "./types.js"; type Message = messagingApi.Message; type TextMessage = messagingApi.TextMessage; type ImageMessage = messagingApi.ImageMessage; type VideoMessage = messagingApi.VideoMessage & { trackingId?: string; }; type AudioMessage = messagingApi.AudioMessage; type LocationMessage = messagingApi.LocationMessage; type FlexContainer = messagingApi.FlexContainer; type TemplateMessage = messagingApi.TemplateMessage; type QuickReply = messagingApi.QuickReply; interface LineSendOpts { cfg?: OpenClawConfig; channelAccessToken?: string; accountId?: string; verbose?: boolean; mediaUrl?: string; mediaKind?: "image" | "video" | "audio"; previewImageUrl?: string; durationMs?: number; trackingId?: string; replyToken?: string; } type LinePushOpts = Pick; export declare function createImageMessage(originalContentUrl: string, previewImageUrl?: string): ImageMessage; export declare function createVideoMessage(originalContentUrl: string, previewImageUrl: string, trackingId?: string): VideoMessage; export declare function createAudioMessage(originalContentUrl: string, durationMs: number): AudioMessage; export declare function createLocationMessage(location: { title: string; address: string; latitude: number; longitude: number; }): LocationMessage; export declare function sendMessageLine(to: string, text: string, opts?: LineSendOpts): Promise; export declare function pushMessageLine(to: string, text: string, opts?: LineSendOpts): Promise; export declare function replyMessageLine(replyToken: string, messages: Message[], opts?: LinePushOpts): Promise; export declare function pushMessagesLine(to: string, messages: Message[], opts?: LinePushOpts): Promise; export declare function createFlexMessage(altText: string, contents: messagingApi.FlexContainer): messagingApi.FlexMessage; export declare function pushImageMessage(to: string, originalContentUrl: string, previewImageUrl?: string, opts?: LinePushOpts): Promise; export declare function pushLocationMessage(to: string, location: { title: string; address: string; latitude: number; longitude: number; }, opts?: LinePushOpts): Promise; export declare function pushFlexMessage(to: string, altText: string, contents: FlexContainer, opts?: LinePushOpts): Promise; export declare function pushTemplateMessage(to: string, template: TemplateMessage, opts?: LinePushOpts): Promise; export declare function pushTextMessageWithQuickReplies(to: string, text: string, quickReplyLabels: string[], opts?: LinePushOpts): Promise; export declare function createQuickReplyItems(labels: string[]): QuickReply; export declare function createTextMessageWithQuickReplies(text: string, quickReplyLabels: string[]): TextMessage & { quickReply: QuickReply; }; export declare function showLoadingAnimation(chatId: string, opts?: { channelAccessToken?: string; accountId?: string; loadingSeconds?: number; }): Promise; export declare function getUserProfile(userId: string, opts?: { channelAccessToken?: string; accountId?: string; useCache?: boolean; }): Promise<{ displayName: string; pictureUrl?: string; } | null>; export declare function getUserDisplayName(userId: string, opts?: { channelAccessToken?: string; accountId?: string; }): Promise; export {};