import { OnModuleInit } from '@nestjs/common';
import * as Minio from 'minio';
import { IFileUpload } from './interfaces/file.interface';
import { IMinioModuleOptions } from './interfaces/minio-options.interface';
export declare class MinioService implements OnModuleInit {
    private readonly config;
    private minioClient;
    private bucketInitialized;
    constructor(config: IMinioModuleOptions);
    onModuleInit(): Promise<void>;
    private initializeBuckets;
    private sha256;
    private hmacSha256;
    private getSigningKey;
    private getAmzDate;
    private getDateStamp;
    private calculatePresignedGetUrl;
    uploadFile(file: IFileUpload, bucketName: string, objectName?: string): Promise<string>;
    getPresignedUrl(bucketName: string, objectName: string): Promise<string>;
    deleteFile(bucketName: string, objectName: string): Promise<void>;
    getMinioClient(): Minio.Client;
}
