1import { ProxyNativeModule } from 'expo-modules-core';
2
3import { NotificationChannel } from './NotificationChannelManager.types';
4
5export interface NotificationChannelGroup {
6  id: string;
7  name: string | null;
8  description?: string | null;
9  isBlocked?: boolean;
10  channels: NotificationChannel[];
11}
12
13export interface NotificationChannelGroupInput {
14  name: string | null;
15  description?: string | null;
16}
17
18export interface NotificationChannelGroupManager extends ProxyNativeModule {
19  getNotificationChannelGroupsAsync?: () => Promise<NotificationChannelGroup[]>;
20  getNotificationChannelGroupAsync?: (groupId: string) => Promise<NotificationChannelGroup | null>;
21  setNotificationChannelGroupAsync?: (
22    groupId: string,
23    group: NotificationChannelGroupInput
24  ) => Promise<NotificationChannelGroup | null>;
25  deleteNotificationChannelGroupAsync?: (groupId: string) => Promise<void>;
26}
27