import { type AgentScheduleConfig } from '@n8n/api-types';
import { ProjectRelationRepository } from '@n8n/db';
import { Logger } from '@n8n/backend-common';
import { GlobalConfig } from '@n8n/config';
import { AgentsService } from '../agents.service';
import type { Agent } from '../entities/agent.entity';
import { AgentRepository } from '../repositories/agent.repository';
export declare class AgentScheduleService {
    private readonly logger;
    private readonly globalConfig;
    private readonly agentRepository;
    private readonly agentsService;
    private readonly projectRelationRepository;
    private readonly jobs;
    constructor(logger: Logger, globalConfig: GlobalConfig, agentRepository: AgentRepository, agentsService: AgentsService, projectRelationRepository: ProjectRelationRepository);
    getConfig(agent: Agent): AgentScheduleConfig;
    saveConfig(agent: Agent, cronExpression: string, wakeUpPrompt?: string): Promise<AgentScheduleConfig>;
    activate(agent: Agent): Promise<AgentScheduleConfig>;
    deactivate(agent: Agent): Promise<AgentScheduleConfig>;
    reconnectAll(): Promise<void>;
    applyConfig(agent: Agent): Promise<void>;
    registerOrRefresh(agent: Agent): Promise<void>;
    deregister(agentId: string): void;
    stopAll(): void;
    private getScheduleIntegration;
    private saveScheduleIntegration;
    private assertCronExpressionIsValid;
    private runScheduled;
    private resolveExecutionUserId;
}
