import type { ImageAttachment } from '../types/core.js';
/**
 * Map a file path to an image media type by extension, or `undefined` if the
 * extension is not a supported image type.
 */
export declare function mediaTypeForPath(path: string): string | undefined;
/**
 * Treat a chunk of pasted/typed text as a single image file reference. Returns
 * the resolved path only when the whole string points to an existing image.
 */
export declare function extractImagePathFromText(text: string): string | undefined;
/**
 * Pull image file references out of a larger message. Terminals drop a dragged
 * file in as its path — quoted when it contains spaces — usually mixed in with
 * the user's own prose ("describe '<path>'"). This finds those path tokens,
 * resolves the ones that are real image files, and returns both the resolved
 * paths and the message text with those tokens removed.
 */
export declare function extractImageReferences(text: string): {
    text: string;
    paths: string[];
};
/** Read an image file from disk into an attachment, or `null` on failure. */
export declare function readImageFile(path: string): ImageAttachment | null;
/**
 * Read raw image bytes from the OS clipboard, if any. Returns `null` when the
 * clipboard holds no image, the platform tool is unavailable, or extraction
 * fails — callers treat that as "no image was pasted".
 *
 * Platform mechanisms:
 * - macOS: AppleScript dumps `«class PNGf»` clipboard data to a temp file.
 * - Linux: `wl-paste` (Wayland) or `xclip` (X11) stream `image/png` to stdout.
 * - Windows: PowerShell reads `Clipboard.GetImage()` and writes PNG to stdout.
 */
export declare function readClipboardImage(): ImageAttachment | null;
//# sourceMappingURL=clipboard-image.d.ts.map