import type { OpenClawConfig } from "openclaw/plugin-sdk/core"; import type { RuntimeEnv } from "openclaw/plugin-sdk/runtime-env"; /** 媒体类型枚举(与钉钉消息类型一致) */ export type MediaKind = "picture" | "audio" | "video" | "file"; /** 单个媒体项 */ export interface MediaItem { /** 媒体类型 */ kind: MediaKind; /** 本地文件路径 */ path: string; /** MIME 类型 */ contentType: string; /** 文件名(可选) */ fileName?: string; /** 文件大小(字节) */ fileSize?: number; /** 时长(秒,音视频专用) */ duration?: number; } /** 入站消息的媒体上下文 */ export interface InboundMediaContext { /** 媒体项列表(支持多媒体混排) */ items: MediaItem[]; /** 主媒体(第一个媒体项,兼容旧逻辑) */ primary?: MediaItem; } export interface MonitorOptions { clientId: string; clientSecret: string; accountId: string; config: OpenClawConfig; runtime?: RuntimeEnv; abortSignal?: AbortSignal; } export type MonitorResult = Promise; export declare function getDingTalkRuntimeState(accountId: string): { running: boolean; lastStartAt: number | null; lastStopAt: number | null; lastError: string | null; lastInboundAt?: number | null; lastOutboundAt?: number | null; } | undefined; /** * 启动钉钉 Stream 监听器 */ export declare function monitorDingTalkProvider(options: MonitorOptions): MonitorResult; //# sourceMappingURL=monitor.d.ts.map