import { PagesService } from './pages.service';
import { PageHistoryService } from './page-history.service';
import { CreatePageDto } from './dto/create-page.dto';
import { UpdatePageDto } from './dto/update-page.dto';
import { PublishPageDto } from './dto/publish-page.dto';
import { RenamePageDto } from './dto/rename-page.dto';
export declare class PagesController {
    private readonly pagesService;
    private readonly pageHistoryService;
    constructor(pagesService: PagesService, pageHistoryService: PageHistoryService);
    findAll(): Promise<import("./entities/page.entity").Page[]>;
    findOne(id: string): Promise<import("./entities/page.entity").Page | null>;
    create(createPageDto: CreatePageDto): Promise<import("./entities/page.entity").Page>;
    update(id: string, updatePageDto: UpdatePageDto): Promise<import("./entities/page.entity").Page>;
    remove(id: string): Promise<void>;
    bulkDelete(body: {
        ids: string[];
    }): Promise<{
        success: boolean;
        deletedCount: number;
        ids: (string | number)[];
    }>;
    findAllByProject(projectId: string): Promise<import("./entities/page.entity").Page[]>;
    findPublishedByProject(projectId: string): Promise<import("./entities/page.entity").Page[]>;
    countByProject(projectId: string): Promise<{
        count: number;
    }>;
    setHomepage(projectId: string, pageId: string): Promise<import("./entities/page.entity").Page>;
    findBySlugAdmin(projectId: string, slug: string): Promise<import("./entities/page.entity").Page>;
    publish(id: string, publishPageDto: PublishPageDto): Promise<import("./entities/page.entity").Page>;
    reorderPages(projectId: string, body: {
        pageIds: string[];
    }): Promise<import("./entities/page.entity").Page[]>;
    duplicate(id: string, body: {
        newSlug: string;
    }): Promise<import("./entities/page.entity").Page>;
    rename(id: string, body: RenamePageDto): Promise<import("./entities/page.entity").Page>;
    getHistory(id: string): Promise<import("./entities/page-history.entity").PageHistory[]>;
    getHistoryVersion(id: string, version: number): Promise<import("./entities/page-history.entity").PageHistory>;
    revertToVersion(id: string, version: number): Promise<import("./entities/page.entity").Page>;
    compareVersions(id: string, version1: number, version2: number): Promise<{
        version1: import("./entities/page-history.entity").PageHistory;
        version2: import("./entities/page-history.entity").PageHistory;
        differences: any;
    }>;
    cleanOldHistory(id: string, body: {
        keepVersions?: number;
    }): Promise<{
        message: string;
    }>;
}
