/** * Image payload handling for screenshots. * * Screenshots travel as base64 and end up inlined in an MCP tool result. On a * high-DPI display a full-viewport capture of a visually dense page runs to * tens of megabytes, which is far past what any client wants in its context and * past the 10 MB read buffer newer MCP stdio transports enforce. So the format * is negotiable, and the size is measured rather than assumed. */ export declare const SUPPORTED_IMAGE_MIME_TYPES: Set; export interface ParsedImage { mimeType: string; base64: string; } /** * Reads a data URL into its mime type and payload. A bare base64 string is * treated as PNG, which is what the extension has always produced, so a client * that omits the prefix does not silently write a corrupt file. */ export declare function parseImageDataUrl(value: string): ParsedImage | null; export declare function extensionForMimeType(mimeType: string): string; /** Forces a filename's extension to match the bytes actually being written. */ export declare function withExtension(name: string, extension: string): string; /** Decoded size of a base64 payload, without decoding it. */ export declare function approximateBytes(base64: string): number;