/* This file is part of »munin«. Copyright 2025 'Fenris Wolf' »munin« is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. »munin« is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with »munin«. If not, see . */ namespace _munin { /** */ export enum enum_frequency { hourly = "hourly", daily = "daily", weekly = "weekly", monthly = "monthly", } /** */ export type type_labels = { head : string; title : string; time : string; location : string; }; /** */ export type type_event = { title : string; begin : lib_plankton.pit.type_datetime, end : (null | lib_plankton.pit.type_datetime), description : (null | string); location : (null | string); tags : (null | Array); }; /** */ export type type_source = { fetch : ( ( ) => Promise> ); }; /** * @todo rename * @todo extend */ export type type_reminder = int; /** * @todo rename */ export type type_reminder_new = { frequency : enum_frequency; offset : int; from : int; to : int; }; /** */ export type type_target = { reminders : Array; show : (() => string); send : ( ( labels : type_labels, event : type_event ) => Promise ); }; }