import { MediaService } from './media.service';
import { Media } from './entities/media.entity';
import type { Request } from 'express';
import { CreateMediaDto } from './dto/create-media.dto';
export declare class MediaController {
    private readonly mediaService;
    constructor(mediaService: MediaService);
    findAll(req: Request, userId: number, isSuperAdmin: boolean, parent_id?: number, page?: number, limit?: number, search?: string, trash?: string, type?: string): Promise<import("../../common/interfaces/pagination-result.interface").PaginationResult<Media>>;
    findMediaNonPaginate(): Promise<Media[]>;
    findOne(id: number): Promise<Media>;
    create(createMediaDto: CreateMediaDto): Promise<Media>;
    update(id: number, body: Partial<Media>): Promise<Media>;
    deleteMany(ids: number[] | string): Promise<{
        deleted: number;
    }>;
    emptyTrash(): Promise<{
        deleted: number;
    }>;
    remove(id: number): Promise<void>;
    createFolder(name: string, parent_id?: number): Promise<Media>;
    uploadFile(file: Express.Multer.File, parent_id?: number): Promise<Media>;
    uploadMultipleFiles(files: Express.Multer.File[], parent_id?: number): Promise<Media[]>;
    moveToTrash(ids: number[]): Promise<{
        moved: number;
    }>;
    restore(ids: number[]): Promise<{
        restored: number;
    }>;
}
