import type { GetLatestVersionFromHashBody } from '../models/GetLatestVersionFromHashBody';
import type { GetLatestVersionsFromHashesBody } from '../models/GetLatestVersionsFromHashesBody';
import type { HashList } from '../models/HashList';
import type { HashVersionMap } from '../models/HashVersionMap';
import type { Version } from '../models/Version';
import type { CancelablePromise } from '../core/CancelablePromise';
export declare class VersionFilesService {
    /**
     * Get version from hash
     * @param hash The hash of the file, considering its byte content, and encoded in hexadecimal
     * @param algorithm The algorithm of the hash
     * @param multiple Whether to return multiple results when looking for this hash
     * @returns Version Expected response to a valid request
     * @throws ApiError
     */
    static versionFromHash(hash: string, algorithm?: 'sha1' | 'sha512', multiple?: boolean): CancelablePromise<Version>;
    /**
     * Delete a file from its hash
     * @param hash The hash of the file, considering its byte content, and encoded in hexadecimal
     * @param algorithm The algorithm of the hash
     * @param versionId Version ID to delete the version from, if multiple files of the same hash exist
     * @returns void
     * @throws ApiError
     */
    static deleteFileFromHash(hash: string, algorithm?: 'sha1' | 'sha512', versionId?: string): CancelablePromise<void>;
    /**
     * Latest version of a project from a hash, loader(s), and game version(s)
     * @param hash The hash of the file, considering its byte content, and encoded in hexadecimal
     * @param algorithm The algorithm of the hash
     * @param requestBody Parameters of the updated version requested
     * @returns Version Expected response to a valid request
     * @throws ApiError
     */
    static getLatestVersionFromHash(hash: string, algorithm?: 'sha1' | 'sha512', requestBody?: GetLatestVersionFromHashBody): CancelablePromise<Version>;
    /**
     * Get versions from hashes
     * This is the same as [`/version_file/{hash}`](#operation/versionFromHash) except it accepts multiple hashes.
     * @param requestBody Hashes and algorithm of the versions requested
     * @returns HashVersionMap Expected response to a valid request
     * @throws ApiError
     */
    static versionsFromHashes(requestBody?: HashList): CancelablePromise<HashVersionMap>;
    /**
     * Latest versions of multiple project from hashes, loader(s), and game version(s)
     * This is the same as [`/version_file/{hash}/update`](#operation/getLatestVersionFromHash) except it accepts multiple hashes.
     * @param requestBody Parameters of the updated version requested
     * @returns HashVersionMap Expected response to a valid request
     * @throws ApiError
     */
    static getLatestVersionsFromHashes(requestBody?: GetLatestVersionsFromHashesBody): CancelablePromise<HashVersionMap>;
}
