import type { GraphClientConfig } from "../lib/graph-client.js"; export interface MailListArgs { top?: number; folder?: string; /** ISO date-time floor → Graph `receivedDateTime ge`. */ since?: string; /** ISO date-time ceiling → Graph `receivedDateTime le`. */ before?: string; /** * Opaque continuation from a prior call's `nextCursor` (an `@odata.nextLink` * URL). When set, all other filter args are ignored — the nextLink already * encodes folder/filter/order/top/skiptoken. */ cursor?: string; } /** * Map a caller-supplied `folder` value to the Graph `/me/mailFolders/{id}` * path segment. * * Graph accepts only a well-known token (a single word, no spaces: * `inbox`, `sentitems`, `drafts`, `deleteditems`, `junkemail`, `archive`, * `outbox`) or a real folder id in that segment. A human display name such as * "Sent Items" is neither, so Graph rejects it with "Id is malformed". This * normalizes the full well-known set plus common aliases — case-insensitively * and space-insensitively — to the Graph token. Any value not in the alias * table is assumed to be a raw folder id and returned unchanged (`asRawId`), * preserving the prior pass-through behaviour. */ export declare function resolveFolder(folder: string): { token: string; asRawId: boolean; }; export interface MailListItem { id: string; subject: string | null; from: string | null; receivedDateTime: string; bodyPreview: string; isRead: boolean; /** Graph `hasAttachments` — true when the message carries enclosures. Call * outlook-mail-attachment to list/download them. Inline-only images can read * false, matching Graph. */ hasAttachments: boolean; } export interface MailListResult { items: MailListItem[]; /** Opaque cursor for the next (older) page; null when the folder is exhausted. */ nextCursor: string | null; } export declare function runMailList(config: GraphClientConfig, args: MailListArgs): Promise; //# sourceMappingURL=mail-list.d.ts.map