import { ConfigService } from '@nestjs/config';
import { PrismaService } from "../../core/database/prisma/prisma.service";
import { AdminAnalyticsService } from './admin-analytics.service';
import { AdminConfigService } from './admin-config.service';
import { AdminInstancesExportDto } from './dto/approval.dto';
import { AdminExportResponse, AdminExportStatusResponse } from './dto/approval-response.dto';
export declare class AdminExportService {
    private readonly prisma;
    private readonly configService;
    private readonly adminAnalyticsService;
    private readonly adminConfigService;
    private readonly logger;
    private readonly s3Client;
    private readonly bucket;
    private readonly isS3Configured;
    constructor(prisma: PrismaService, configService: ConfigService, adminAnalyticsService: AdminAnalyticsService, adminConfigService: AdminConfigService);
    private normalizeBucketName;
    createExportTask(dto: AdminInstancesExportDto, userId: string): Promise<AdminExportResponse>;
    getExportStatus(taskId: string): Promise<AdminExportStatusResponse>;
    listExports(userId: string, limit?: number): Promise<AdminExportStatusResponse[]>;
    handlePendingExports(): Promise<void>;
    cleanupExpiredExports(): Promise<void>;
    private processExportTask;
    private buildExportFile;
    private putObject;
    private ensureBucketExists;
    private deleteObject;
    private getSignedDownloadUrl;
}
