import { DmConversationQuery, DmConversationPage, DmMessageQuery, DmMessagePage, DmMessage, Subscription, DmSendRequest, DmSendResult, DmStatus, DmSubscribeRequest, DmSubscription, DmOk } from '@napplet/core'; /** * Napplet NAP dm shim entrypoint. * * @module */ /** * Handle dm.* messages from the shell via the central message listener. * Covers request results and shell-pushed dm.message deliveries. * * @param msg The shell envelope to route */ declare function handleDmMessage(msg: { type: string; [key: string]: unknown; }): void; /** * Get current DM availability and advisory runtime labels. * * @returns Promise resolving to the runtime DM status * * @example * ```ts * const current = await status(); * if (current.available) renderDm(); * ``` */ declare function status(): Promise; /** * Fetch normalized conversations visible to this napplet. * * @param query Optional cursor and limit * @returns Promise resolving to a page of conversations */ declare function conversations(query?: DmConversationQuery): Promise; /** * Fetch normalized message history for one conversation. * * @param query Conversation id plus optional cursor and limit * @returns Promise resolving to a page of messages */ declare function messages(query: DmMessageQuery): Promise; /** * Ask the runtime to send a direct message. * * @param request Recipients, content, and optional conversation/client ids * @returns Promise resolving to the normalized send result */ declare function send(request: DmSendRequest): Promise; /** * Start live delivery for one conversation or all visible conversations. * * @param request Optional conversation scope * @returns Promise resolving to the runtime subscription id */ declare function subscribe(request?: DmSubscribeRequest): Promise; /** * Stop a live DM subscription. * * @param subscriptionId Runtime subscription id from subscribe() * @returns Promise resolving to the runtime acknowledgement */ declare function unsubscribe(subscriptionId: string): Promise; /** * Register for shell-pushed `dm.message` deliveries. * * @param handler Called with each message and its runtime subscription id * @returns A Subscription with `close()` to stop listening */ declare function onMessage(handler: (message: DmMessage, subscriptionId: string) => void): Subscription; /** * Install the DM shim. Registration-only -- DM operations are issued on demand. * * @returns cleanup function that clears pending requests and message handlers */ declare function installDmShim(): () => void; export { conversations, handleDmMessage, installDmShim, messages, onMessage, send, status, subscribe, unsubscribe };