import { Express } from 'express'; import { BaseEventController, BaseEventControllerOptions } from './BaseEventController'; declare type StorageObject = Record; declare type StorageQuery = Record; interface PostgresControllerOptions extends BaseEventControllerOptions { postgresUrl: string; table?: string; } declare class PostgresController extends BaseEventController { name: string; private table; private tableForObjs; private db; private postgresUrl; constructor(options: PostgresControllerOptions); init(app: Express): Promise; action(name: 'create', args: { table: string; object: StorageObject; }): Promise; action(name: 'createOrUpdate', args: { table: string; query: StorageQuery; object: StorageObject; }): Promise>; action(name: 'read', args: { table: string; query: StorageQuery; }): Promise>; action(name: 'update', args: { table: string; query: StorageQuery; object: StorageObject; }): Promise>; action(name: 'delete', args: { table: string; query: StorageQuery; }): Promise>; _readJsonAction({ path, _message }: { path: string; _message?: string; }): Promise; _writeJsonAction({ path, value, _message }: { path: string; value: StorageObject; _message?: string; }): Promise; _getJsonPathAction({ path }: { path: string; }): Promise; _createAction({ table, object }: { table: string; object: StorageObject; }): Promise; _readAction(args: { table: string; query: StorageQuery; }): Promise; _deleteAction(args: { table: string; query: StorageQuery; }): Promise; private _updateAction; _createOrUpdateAction(args: { table: string; query: StorageQuery; object: StorageObject; }): Promise>; } export { PostgresController, PostgresControllerOptions, };