///
import { HttpService } from '@nestjs/axios';
import { Observable } from 'rxjs';
import { EnvConfig } from '../config';
import { HydrusFileFromAPI } from 'src/hydrus-file';
import { HydrusSortType } from './hydrus-sort-type';
import { IncomingMessage } from 'http';
export declare class HydrusApiService {
private envConfig;
private http;
constructor(envConfig: EnvConfig, http: HttpService);
private readonly logger;
hydrusApiUrl: string;
hydrusApiKey: string;
apiUrl: string;
headers: {
'Hydrus-Client-API-Access-Key': string;
};
private apiGet;
searchFiles(tags: string[], params?: {
file_service_name?: string;
file_service_key?: string;
tag_service_name?: string;
tag_service_key?: string;
file_sort_type?: HydrusSortType;
file_sort_asc?: boolean;
return_hashes?: Hashes;
return_file_ids?: IDs;
}): Observable<(Hashes extends true ? {
hashes: string[];
} : Record) & (IDs extends true ? {
file_ids: number[];
} : Record)>;
getFileMetadata(params: ({
hashes: string[];
} | {
file_ids: number[];
}) & {
only_return_identifiers?: boolean;
detailed_url_information?: boolean;
hide_service_names_tags?: boolean;
include_notes?: boolean;
}): Observable<{
metadata: HydrusFileFromAPI[];
}>;
getFileURLFromHash(file_hash: string): string;
getThumbnailURLFromHash(file_hash: string): string;
getThumbnailStream(hash: string, headers?: any): Observable>;
getFileStream(hash: string, headers?: any): Observable>;
}