import { Repository, DataSource } from 'typeorm';
import { ContextTemplate, TemplateType } from '../core-entities';
import { CreateContextTemplateDto, PreviewContextTemplateDto, PreviewContextTemplateResponseDto, UpdateContextTemplateDto } from './dto/context-template.dto';
import { ContextGenerationService } from '../context-generation/context-generation.service';
import { CustomVariablesService } from '../custom-variables/custom-variables.service';
export declare class ContextTemplatesService {
    private contextTemplatesRepository;
    private dataSource;
    private readonly contextGenerationService;
    private readonly customVariablesService;
    private readonly logger;
    constructor(contextTemplatesRepository: Repository<ContextTemplate>, dataSource: DataSource, contextGenerationService: ContextGenerationService, customVariablesService: CustomVariablesService);
    create(createContextTemplateDto: CreateContextTemplateDto): Promise<ContextTemplate>;
    findAll(type?: TemplateType): Promise<ContextTemplate[]>;
    findOne(id: string): Promise<ContextTemplate>;
    findByName(name: string): Promise<ContextTemplate | null>;
    findByBuiltinKey(builtinKey: string): Promise<ContextTemplate | null>;
    findDefaultInitial(): Promise<ContextTemplate | null>;
    findDefaultFollowup(): Promise<ContextTemplate | null>;
    update(id: string, updateContextTemplateDto: UpdateContextTemplateDto): Promise<ContextTemplate>;
    remove(id: string): Promise<void>;
    duplicate(id: string): Promise<ContextTemplate>;
    updateBuiltinContent(id: string, templateContent: string): Promise<ContextTemplate>;
    preview(dto: PreviewContextTemplateDto): Promise<PreviewContextTemplateResponseDto>;
    setDefaultInitial(id: string): Promise<ContextTemplate>;
    setDefaultFollowup(id: string): Promise<ContextTemplate>;
    setDefaultCondensed(id: string): Promise<ContextTemplate>;
}
