import type { RecurringFilter, RecurringTemplateDetail, RecurringTemplateSummary } from "../../domain/recurring"; import type { RecurringService, CreateRecurringInput, DeleteRecurringResult, UpdateRecurringInput } from "../recurring-service"; import { type ToduDaemonClient } from "./daemon-client"; export declare class ToduRecurringServiceError extends Error { readonly operation: string; readonly causeCode: string; readonly details?: Record; constructor(options: { operation: string; causeCode: string; message: string; details?: Record; cause?: unknown; }); } export interface ToduRecurringServiceDependencies { client: ToduDaemonClient; } declare const createToduRecurringService: ({ client, }: ToduRecurringServiceDependencies) => RecurringService; declare const listRecurringWithProjectNames: (client: ToduDaemonClient, filter?: RecurringFilter) => Promise; declare const hydrateRecurringProjectName: (client: ToduDaemonClient, template: RecurringTemplateDetail) => Promise; declare const runRecurringServiceOperation: (operation: string, action: () => Promise) => Promise; declare const listRecurring: (recurringService: RecurringService, filter?: RecurringFilter) => Promise; declare const createRecurring: (recurringService: RecurringService, input: CreateRecurringInput) => Promise; declare const updateRecurring: (recurringService: RecurringService, input: UpdateRecurringInput) => Promise; declare const deleteRecurring: (recurringService: RecurringService, recurringId: string) => Promise; export { createRecurring, createToduRecurringService, deleteRecurring, hydrateRecurringProjectName, listRecurring, listRecurringWithProjectNames, runRecurringServiceOperation, updateRecurring, };