import { Buffer } from 'node:buffer'; import { Readable } from 'node:stream'; import type { WAMediaUpload } from '../Types/index.js'; import type { ILogger } from './logger.js'; export declare const extractImageThumb: (bufferOrFilePath: Readable | Buffer | string, width?: number) => Promise<{ buffer: any; original: { width: any; height: any; }; }>; /** Returns audio duration in seconds, parsed via `music-metadata`. */ export declare function getAudioDuration(buffer: Buffer | string | Readable): Promise; /** referenced from and modifying https://github.com/wppconnect-team/wa-js/blob/main/src/chat/functions/prepareAudioWaveform.ts */ export declare function getAudioWaveform(buffer: Buffer | string | Readable, logger?: ILogger): Promise | undefined>; export declare const toReadable: (buffer: Buffer) => Readable; export declare const toBuffer: (stream: Readable) => Promise>; export declare const getStream: (item: WAMediaUpload, opts?: RequestInit & { maxContentLength?: number; }) => Promise<{ readonly stream: Readable; readonly type: "buffer"; } | { readonly stream: Readable; readonly type: "readable"; } | { readonly stream: Readable; readonly type: "remote"; } | { readonly stream: import("fs").ReadStream; readonly type: "file"; }>; /** generates a thumbnail for a given media, if required */ export declare function generateThumbnail(bufferOrPath: Buffer | string, mediaType: 'video' | 'image', options: { logger?: ILogger; }): Promise<{ thumbnail: string | undefined; originalImageDimensions: { width: number; height: number; } | undefined; }>; export declare const getHttpStream: (url: string | URL, options?: RequestInit & { isStream?: true; }) => Promise; export type MediaDownloadOptions = { options?: RequestInit; }; //# sourceMappingURL=messages-media.d.ts.map