/// <reference types="node" />
import { FileMetadataReq, FileMetadataRes } from '../interfaces/file.interface';
import { HttpService } from './HttpService';
import { ClientState } from '../index';
import { IHttpResponse } from '../interfaces/http.interface';
export declare class HatFileService {
    private config;
    private readonly baseUrl;
    private readonly headers;
    private httpSvc;
    constructor(config: ClientState, headers: Record<string, string>, httpSvc: HttpService);
    uploadFileWrapper(metadata: FileMetadataReq, file: ArrayBuffer | Buffer, fileType: string): Promise<IHttpResponse<FileMetadataRes>>;
    private uploadFileMetadata;
    private uploadFileToAWS;
    private markFileAsComplete;
    markFileAsPublic(fileId: string): Promise<IHttpResponse<FileMetadataRes>>;
    markFileAsPrivate(fileId: string): Promise<IHttpResponse<FileMetadataRes>>;
    updateFileParameters(fileId: string, metadata: FileMetadataReq): Promise<IHttpResponse<FileMetadataRes>>;
    searchFiles(metadata: FileMetadataReq): Promise<IHttpResponse<Array<FileMetadataRes>>>;
    deleteFile(fileId: string): Promise<IHttpResponse<FileMetadataRes>>;
    generateFileContentUrl(fileId: string): string;
}
