// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
// This file is automatically generated. DO NOT EDIT

/**
 * Service represents the notifications service
 * @module
 */

// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import { Call as $Call, CancellablePromise as $CancellablePromise, Create as $Create } from "@wailsio/runtime";

// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import * as $models from "./models.js";

export function CheckNotificationAuthorization(): $CancellablePromise<boolean> {
    return $Call.ByID(2216952893);
}

export function RegisterNotificationCategory(category: $models.NotificationCategory): $CancellablePromise<void> {
    return $Call.ByID(2917562919, category);
}

export function RemoveAllDeliveredNotifications(): $CancellablePromise<void> {
    return $Call.ByID(3956282340);
}

export function RemoveAllPendingNotifications(): $CancellablePromise<void> {
    return $Call.ByID(108821341);
}

export function RemoveDeliveredNotification(identifier: string): $CancellablePromise<void> {
    return $Call.ByID(975691940, identifier);
}

export function RemoveNotification(identifier: string): $CancellablePromise<void> {
    return $Call.ByID(3966653866, identifier);
}

export function RemoveNotificationCategory(categoryID: string): $CancellablePromise<void> {
    return $Call.ByID(2032615554, categoryID);
}

export function RemovePendingNotification(identifier: string): $CancellablePromise<void> {
    return $Call.ByID(3729049703, identifier);
}

/**
 * Public methods that delegate to the implementation.
 */
export function RequestNotificationAuthorization(): $CancellablePromise<boolean> {
    return $Call.ByID(3933442950);
}

export function SendNotification(options: $models.NotificationOptions): $CancellablePromise<void> {
    return $Call.ByID(3968228732, options);
}

export function SendNotificationWithActions(options: $models.NotificationOptions): $CancellablePromise<void> {
    return $Call.ByID(1886542847, options);
}
