import { IExecuteFunctions, ILoadOptionsFunctions } from 'n8n-workflow';
import { AirCredentials } from '../../../../credentials/AirApi.credentials';
export interface Notification {
    _id: string;
    title: string;
    message: string;
    type: string;
    read: boolean;
    createdAt: string;
    updatedAt: string;
    userId: string;
    organizationId: number;
}
export interface NotificationsResponse {
    success: boolean;
    result: {
        entities: Notification[];
        filters: Array<{
            name: string;
            type: string;
            options: string[];
            filterUrl: string | null;
        }>;
        sortables: string[];
        totalEntityCount: number;
        currentPage: number;
        pageSize: number;
        previousPage: number;
        totalPageCount: number;
        nextPage: number;
    };
    statusCode: number;
    errors: string[];
}
export interface DeleteAllNotificationsResponse {
    success: boolean;
    result: null;
    statusCode: number;
    errors: string[];
}
export interface MarkAllAsReadResponse {
    success: boolean;
    result: null;
    statusCode: number;
    errors: string[];
}
export interface MarkAsReadResponse {
    success: boolean;
    result: Notification;
    statusCode: number;
    errors: string[];
}
export declare const api: {
    getNotifications(context: IExecuteFunctions | ILoadOptionsFunctions, credentials: AirCredentials, queryParams?: Record<string, string | number>): Promise<NotificationsResponse>;
    deleteAllNotifications(context: IExecuteFunctions | ILoadOptionsFunctions, credentials: AirCredentials): Promise<DeleteAllNotificationsResponse>;
    markAllAsRead(context: IExecuteFunctions | ILoadOptionsFunctions, credentials: AirCredentials): Promise<MarkAllAsReadResponse>;
    markAsReadById(context: IExecuteFunctions | ILoadOptionsFunctions, credentials: AirCredentials, id: string): Promise<MarkAsReadResponse>;
};
