import { Repository } from 'typeorm';
import { Theme } from './entities/theme.entity';
import { ContentModule } from '../content-modules/entities/content-module.entity';
import { CreateThemeDto } from './dto/create-theme.dto';
import { UpdateThemeDto } from './dto/update-theme.dto';
import { ContentPaginateQueryDto } from '../common/dto/content-paginate-query.dto';
export declare class ThemesService {
    private readonly themeRepository;
    private readonly contentModuleRepository;
    constructor(themeRepository: Repository<Theme>, contentModuleRepository: Repository<ContentModule>);
    private generateUniqueSlug;
    private slugExists;
    findAll(query: ContentPaginateQueryDto): Promise<{
        data: Theme[];
        total: number;
    }>;
    findPublic(): Promise<Pick<Theme, 'id' | 'title' | 'slug' | 'icon' | 'login_color' | 'display_order'>[]>;
    findOne(id: string): Promise<Theme>;
    findBySlug(slug: string): Promise<Theme>;
    create(dto: CreateThemeDto): Promise<Theme>;
    update(id: string, dto: UpdateThemeDto): Promise<Theme>;
    remove(id: string): Promise<void>;
    reorder(ids: string[]): Promise<void>;
}
