import { LibraryService } from './library.service';
import { CreateLibraryDto } from './dto/create-library.dto';
import { UpdateLibraryDto } from './dto/update-library.dto';
import { QueryLibraryDto } from './dto/query-library.dto';
export declare class LibraryController {
    private readonly libraryService;
    private readonly logger;
    constructor(libraryService: LibraryService);
    create(req: any, createLibraryDto: CreateLibraryDto, file: Express.Multer.File): Promise<import("./entities/library.entity").LibraryEntity>;
    findAll(queryParams: QueryLibraryDto): Promise<{
        items: import("./entities/library.entity").LibraryEntity[];
        meta: {
            total: number;
            page: number;
            limit: number;
            pages: number;
        };
    }>;
    findAllAttachmentsUrl(page?: number, limit?: number): Promise<{
        data: string[];
        total: number;
        page: number;
        limit: number;
    }>;
    findPublic(): Promise<import("./entities/library.entity").LibraryEntity[]>;
    findByUserId(userId: string): Promise<import("./entities/library.entity").LibraryEntity[]>;
    findByCategory(category: string): Promise<import("./entities/library.entity").LibraryEntity[]>;
    findByTags(tags: string): Promise<import("./entities/library.entity").LibraryEntity[]>;
    findOne(id: string): Promise<import("./entities/library.entity").LibraryEntity>;
    update(id: string, updateLibraryDto: UpdateLibraryDto): Promise<import("./entities/library.entity").LibraryEntity>;
    togglePublicStatus(id: string): Promise<import("./entities/library.entity").LibraryEntity>;
    remove(id: string): Promise<void>;
    softDelete(id: string): Promise<import("./entities/library.entity").LibraryEntity>;
}
