import { AlertDTO, CreateAlert } from '@meshwatch/types'; import { CreateTableOutput, DeleteItemOutput, DocumentClient } from 'aws-sdk/clients/dynamodb'; import { AWSError } from 'aws-sdk/lib/error'; import { PromiseResult } from 'aws-sdk/lib/request'; import { DynamoDBClient } from '../../shared/aws/dynamodb'; import DynamoMonitoringDatasource from '../db/datasource'; export interface AlertDatasource { createTable: () => Promise>; createAlert: (payload: CreateAlert) => Promise; updateAlert: (monitor: AlertDTO) => Promise; getAlert: (userId: string, monitorId: string, alertId: string) => Promise; listAlertsForMonitor: (userId: string, monitorId: string) => Promise; listAlerts: (userId: string) => Promise; deleteAlert: (userId: string, monitorId: string, alertId: string) => Promise>; } export declare class DynamoAlertDatasource extends DynamoMonitoringDatasource implements AlertDatasource { private readonly userDatasource; constructor(dynamoClient?: DynamoDBClient); createAlert: (payload: CreateAlert) => Promise>; deleteAlert: (userId: string, monitorId: string, alertId: string) => Promise>; getAlert: (userId: string, monitorId: string, alertId: string) => Promise>; listAlerts: (userId: string) => Promise[]>; listAlertsForMonitor: (userId: string, monitorId: string) => Promise[]>; private searchAlerts; updateAlert: (payload: import("@meshwatch/types/dist/common").WithCreated) => Promise>; _putAlert: (alert: import("@meshwatch/types/dist/common").WithCreated) => Promise>; private alertToDynamoItem; private mapDynamoRows; private encodeSortKey; } declare const dynamoAlertDatasource: DynamoAlertDatasource; export default dynamoAlertDatasource;