import { Repository, DataSource } from 'typeorm';
import { SystemPrompt } from '../core-entities';
import { CreateSystemPromptDto, PreviewSystemPromptDto, PreviewSystemPromptResponseDto, UpdateSystemPromptDto } from './dto/system-prompt.dto';
import { McpService } from '../mcp/mcp.service';
import { ContextGenerationService } from '../context-generation/context-generation.service';
import { ActionHandler } from '../llm-orchestration/action-handlers/action-handler.interface';
import { CustomVariablesService } from '../custom-variables/custom-variables.service';
export declare class SystemPromptsService {
    private systemPromptsRepository;
    private dataSource;
    private readonly mcpService;
    private readonly contextGenerationService;
    private readonly handlerRegistry;
    private readonly customVariablesService;
    private readonly ALL_TOOL_NAMES;
    constructor(systemPromptsRepository: Repository<SystemPrompt>, dataSource: DataSource, mcpService: McpService, contextGenerationService: ContextGenerationService, handlerRegistry: Map<string, ActionHandler>, customVariablesService: CustomVariablesService);
    private parseEnabledTools;
    private serializeEnabledTools;
    private _renderPrompt;
    create(createSystemPromptDto: CreateSystemPromptDto): Promise<SystemPrompt>;
    findAll(): Promise<SystemPrompt[]>;
    findAllRaw(): Promise<SystemPrompt[]>;
    findOne(id: string): Promise<SystemPrompt>;
    findOneWithSession(id: string, sessionId: string, sessionName: string): Promise<SystemPrompt>;
    findByName(name: string): Promise<SystemPrompt | null>;
    findByBuiltinKey(builtinKey: string): Promise<SystemPrompt | null>;
    findOneRaw(id: string): Promise<SystemPrompt>;
    updateBuiltinContent(id: string, promptContent: string, enabledTools: string[] | 'all', enabledMcpTools?: string[] | 'all'): Promise<SystemPrompt>;
    findDefault(): Promise<SystemPrompt | null>;
    findDefaultWithSession(sessionId: string, sessionName: string): Promise<SystemPrompt | null>;
    update(id: string, updateSystemPromptDto: UpdateSystemPromptDto): Promise<SystemPrompt>;
    remove(id: string): Promise<void>;
    duplicate(id: string): Promise<SystemPrompt>;
    setDefault(id: string): Promise<SystemPrompt>;
    preview(previewDto: PreviewSystemPromptDto): Promise<PreviewSystemPromptResponseDto>;
    getToolNames(): string[];
    getEnabledTools(systemPromptId: string): Promise<string[] | 'all'>;
    setEnabledTools(systemPromptId: string, enabledTools: string[] | 'all'): Promise<{
        enabledTools: string[] | 'all';
    }>;
    getToolsForPrompt(systemPromptId: string): Promise<string[]>;
    toggleTool(systemPromptId: string, toolName: string): Promise<{
        enabledTools: string[] | 'all';
    }>;
    getAllToolNames(): string[];
    private parseEnabledMcpToolsWithDefault;
    private serializeEnabledMcpTools;
    getAllMcpToolNames(): Promise<string[]>;
    getEnabledMcpTools(systemPromptId: string): Promise<string[] | 'all'>;
    setEnabledMcpTools(systemPromptId: string, enabledMcpTools: string[] | 'all'): Promise<{
        enabledMcpTools: string[] | 'all';
    }>;
    toggleMcpTool(systemPromptId: string, mcpToolName: string): Promise<{
        enabledMcpTools: string[] | 'all';
    }>;
    getMcpToolsForPrompt(systemPromptId: string): Promise<string[]>;
}
