import { ChatType, ElementType, Peer, PicElement, RawMessage } from '../types'; import { InstanceContext, NapCatCore, SearchResultItem } from '../index'; import { RkeyManager } from '../helper/rkey'; export declare class NTQQFileApi { context: InstanceContext; core: NapCatCore; rkeyManager: RkeyManager; packetRkey: Array<{ rkey: string; time: number; type: number; ttl: bigint; }> | undefined; private fetchRkeyFailures; private readonly MAX_RKEY_FAILURES; constructor(context: InstanceContext, core: NapCatCore); private fetchRkeyWithRetry; getFileUrl(chatType: ChatType, peer: string, fileUUID?: string, file10MMd5?: string | undefined, timeout?: number): Promise; getPttUrl(peer: string, fileUUID?: string, timeout?: number): Promise; getVideoUrlPacket(peer: string, fileUUID?: string, timeout?: number): Promise; copyFile(filePath: string, destPath: string): Promise; getFileSize(filePath: string): Promise; getVideoUrl(peer: Peer, msgId: string, elementId: string): Promise<{ url: string; isHttps: boolean; httpsDomain: string; }[]>; uploadFile(filePath: string, elementType?: ElementType, elementSubType?: number, uploadGroupFile?: boolean): Promise<{ md5: string; fileName: string; path: string; fileSize: number; ext: string; }>; downloadFileForModelId(peer: Peer, modelId: string, unknown: string, timeout?: number): Promise; downloadRawMsgMedia(msg: RawMessage[]): Promise; downloadMedia(msgId: string, chatType: ChatType, peerUid: string, elementId: string, thumbPath: string, sourcePath: string, timeout?: number, force?: boolean): Promise; searchForFile(keys: string[]): Promise; downloadFileById(fileId: string, fileSize?: number, estimatedTime?: number): Promise; getImageUrl(element: PicElement): Promise; private getRkeyData; private getImageUrlFromParsedUrl; private getImageUrlFromMd5; }