import { PrismaService } from "../../../core/database/prisma/prisma.service";
import type { AgentCron } from '@prisma/client';
import { AgentMessagesService } from './messages.service';
export interface CreateCronInput {
    organizationId: string;
    createdById: string;
    sessionId: string;
    name: string;
    cronExpr: string;
    prompt: string;
}
export interface UpdateCronInput {
    name?: string;
    cronExpr?: string;
    prompt?: string;
    enabled?: boolean;
}
export declare class AgentCronsService {
    private readonly prisma;
    private readonly messagesService;
    private readonly logger;
    constructor(prisma: PrismaService, messagesService: AgentMessagesService);
    list(organizationId: string, createdById: string): Promise<AgentCron[]>;
    create(input: CreateCronInput): Promise<AgentCron>;
    update(id: string, organizationId: string, createdById: string, patch: UpdateCronInput): Promise<AgentCron>;
    remove(id: string, organizationId: string, createdById: string): Promise<{
        ok: true;
    }>;
    tick(): Promise<void>;
    private fireOne;
    private computeNext;
    private assertOwnCron;
}
