import { CreateMonitorDTO, MonitorDTO } 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 MonitorDatasource { createTable: () => Promise>; createMonitor: (monitor: CreateMonitorDTO) => Promise; updateMonitor: (monitor: MonitorDTO) => Promise; deleteMonitor: (userId: string, monitorId: string) => Promise>; getMonitor: (userId: string, monitorId: string) => Promise; searchMonitors: (userId: string) => Promise; bookmarkMonitor: (userId: string, monitorId: string, bookmarked: boolean) => Promise; getMonitorsByScheduler: (schedulerName: string) => Promise; } export declare class DynamoMonitorDatasource extends DynamoMonitoringDatasource implements MonitorDatasource { private readonly userDatasource; constructor(dynamoClient?: DynamoDBClient); bookmarkMonitor: (userId: string, monitorId: string, bookmarked: boolean) => Promise>; getMonitor: (userId: string, monitorId: string) => Promise>; deleteMonitor: (userId: string, monitorId: string) => Promise>; searchMonitors: (userId: string) => Promise[]>; getMonitorsByScheduler: (scheduler: string) => Promise[]>; createMonitor: (payload: CreateMonitorDTO) => Promise>; updateMonitor: (updateMonitorPayload: import("@meshwatch/types/dist/common").WithCreated) => Promise>; _putMonitor: (monitor: import("@meshwatch/types/dist/common").WithCreated) => Promise>; private monitorToDynamoItem; private mapDynamoRows; private encodeSortKey; } declare const dynamoMonitorDatasource: DynamoMonitorDatasource; export default dynamoMonitorDatasource;