/**
* This file is part of the NocoBase (R) project.
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
* Authors: NocoBase Team.
*
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
* For more information, please refer to: https://www.nocobase.com/agreement.
*/
import type { MetaTreeNode } from '@nocobase/flow-engine';
import type { ComponentType } from 'react';
export type LoaderOf
> = () => Promise<{
default: ComponentType
;
}>;
export type FormNamePrefix = Array;
export type MessageConfigFormProps = {
variableOptions?: MetaTreeNode[];
namePrefix?: FormNamePrefix;
};
export type ContentConfigFormProps = {
variableOptions?: MetaTreeNode[];
channelType?: string;
namePrefix?: FormNamePrefix;
};
export type RegisterChannelOptions = {
title: string;
type: string;
components: {
ChannelConfigFormLoader?: LoaderOf;
MessageConfigFormLoader?: LoaderOf;
ContentConfigFormLoader?: LoaderOf;
};
meta?: {
creatable?: boolean;
editable?: boolean;
deletable?: boolean;
};
};
export default class NotificationManager {
channelTypes: any;
registerChannelType(options: RegisterChannelOptions): void;
}