/* Copyright 2016-2024 'Christian Fraß, Christian Neubauer, Martin Springwald GbR' »heimdall« is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. »heimdall« 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 General Public License for more details. You should have received a copy of the GNU General Public License along with »heimdall«. If not, see . */ namespace _heimdall.notification_kinds { /** */ export type type_notification_kind = { parameters_schema : ( () => _heimdall.helpers.json_schema.type_schema ); normalize_order_node : ( (node : any) => any ); notify : ( ( parameters : any, name : string, data : type_check, state : type_item_state, info : any ) => Promise ); }; /** */ var _implementations : Record = {}; /** */ export function register_implementation( name : string, notification_kind : type_notification_kind ) : void { _implementations[name] = notification_kind; } /** */ export function get_implementation( name : string ) : type_notification_kind { return _implementations[name]; } /** */ export function get_implementations( ) : Record { return _implementations; } }