@elemental-design/expo-notifications
Version:
55 lines (54 loc) • 1.75 kB
TypeScript
import { PermissionResponse } from 'unimodules-permissions-interface';
export declare enum IosAlertStyle {
NONE = 0,
BANNER = 1,
ALERT = 2
}
export declare enum IosAllowsPreviews {
NEVER = 0,
ALWAYS = 1,
WHEN_AUTHENTICATED = 2
}
export declare enum IosAuthorizationStatus {
NOT_DETERMINED = 0,
DENIED = 1,
AUTHORIZED = 2,
PROVISIONAL = 3
}
export interface NotificationPermissionsStatus extends PermissionResponse {
android?: {
importance: number;
interruptionFilter?: number;
};
ios?: {
status: IosAuthorizationStatus;
allowsDisplayInNotificationCenter: boolean | null;
allowsDisplayOnLockScreen: boolean | null;
allowsDisplayInCarPlay: boolean | null;
allowsAlert: boolean | null;
allowsBadge: boolean | null;
allowsSound: boolean | null;
allowsCriticalAlerts?: boolean | null;
alertStyle: IosAlertStyle;
allowsPreviews?: IosAllowsPreviews;
providesAppNotificationSettings?: boolean;
allowsAnnouncements?: boolean | null;
};
}
export interface IosNotificationPermissionsRequest {
allowAlert?: boolean;
allowBadge?: boolean;
allowSound?: boolean;
allowDisplayInCarPlay?: boolean;
allowCriticalAlerts?: boolean;
provideAppNotificationSettings?: boolean;
allowProvisional?: boolean;
allowAnnouncements?: boolean;
}
export interface AndroidNotificationPermissionRequest {
}
export declare type NativeNotificationPermissionsRequest = IosNotificationPermissionsRequest | AndroidNotificationPermissionRequest;
export interface NotificationPermissionsRequest {
ios?: IosNotificationPermissionsRequest;
android?: AndroidNotificationPermissionRequest;
}