import * as Parameters from './parameters';
import { Client } from '../clients';
import { Callback } from '../types';
export declare class Notifications {
    private client;
    constructor(client: Client);
    getNotification<T = unknown>(parameters: Parameters.GetNotification, callback: Callback<T>): Promise<void>;
    getNotification<T = unknown>(parameters: Parameters.GetNotification, callback?: never): Promise<T>;
    /** Update the read status of a notification */
    updateNotification<T = unknown>(parameters: Parameters.UpdateNotification, callback: Callback<T>): Promise<void>;
    /** Update the read status of a notification */
    updateNotification<T = unknown>(parameters: Parameters.UpdateNotification, callback?: never): Promise<T>;
    /** Get a specific property of a notification */
    getNotificationField<T = unknown>(parameters: Parameters.GetNotificationField, callback: Callback<T>): Promise<void>;
    /** Get a specific property of a notification */
    getNotificationField<T = unknown>(parameters: Parameters.GetNotificationField, callback?: never): Promise<T>;
    /** Mark all notifications as read */
    markAllNotificationsAsRead<T = unknown>(parameters?: Parameters.MarkAllNotificationsAsRead, callback?: Callback<T>): Promise<void>;
    /** Mark all notifications as read */
    markAllNotificationsAsRead<T = unknown>(parameters?: Parameters.MarkAllNotificationsAsRead, callback?: never): Promise<T>;
    /** Update Notification's read status */
    updateNotificationReadStatus<T = unknown>(parameters: Parameters.UpdateNotificationReadStatus, callback: Callback<T>): Promise<void>;
    /** Update Notification's read status */
    updateNotificationReadStatus<T = unknown>(parameters: Parameters.UpdateNotificationReadStatus, callback?: never): Promise<T>;
    /** Get the board a notification is associated with */
    getNotificationBoard<T = unknown>(parameters: Parameters.GetNotificationBoard, callback: Callback<T>): Promise<void>;
    /** Get the board a notification is associated with */
    getNotificationBoard<T = unknown>(parameters: Parameters.GetNotificationBoard, callback?: never): Promise<T>;
    /** Get the card a notification is associated with */
    getNotificationCard<T = unknown>(parameters: Parameters.GetNotificationCard, callback: Callback<T>): Promise<void>;
    /** Get the card a notification is associated with */
    getNotificationCard<T = unknown>(parameters: Parameters.GetNotificationCard, callback?: never): Promise<T>;
    /** Get the list a notification is associated with */
    getNotificationList<T = unknown>(parameters: Parameters.GetNotificationList, callback: Callback<T>): Promise<void>;
    /** Get the list a notification is associated with */
    getNotificationList<T = unknown>(parameters: Parameters.GetNotificationList, callback?: never): Promise<T>;
    /** Get the member (not the creator) a notification is about */
    getNotificationMember<T = unknown>(parameters: Parameters.GetNotificationMember, callback: Callback<T>): Promise<void>;
    /** Get the member (not the creator) a notification is about */
    getNotificationMember<T = unknown>(parameters: Parameters.GetNotificationMember, callback?: never): Promise<T>;
    /** Get the member who created the notification */
    getNotificationMemberCreator<T = unknown>(parameters: Parameters.GetNotificationMemberCreator, callback: Callback<T>): Promise<void>;
    /** Get the member who created the notification */
    getNotificationMemberCreator<T = unknown>(parameters: Parameters.GetNotificationMemberCreator, callback?: never): Promise<T>;
    /** Get the organization a notification is associated with */
    getNotificationOrganization<T = unknown>(parameters: Parameters.GetNotificationOrganization, callback: Callback<T>): Promise<void>;
    /** Get the organization a notification is associated with */
    getNotificationOrganization<T = unknown>(parameters: Parameters.GetNotificationOrganization, callback?: never): Promise<T>;
}
