import { Express } from 'express'; import { BaseEventController, BaseEventControllerOptions } from './BaseEventController'; declare type StorageObject = Record; declare type StorageQuery = Record; interface StorageControllerOptions extends BaseEventControllerOptions { url: string; localCachePath?: string; branch?: string; } declare class StorageController extends BaseEventController { name: string; private url; private repo; private setIntervalId; private syncInterval; private repoPath; private branch; constructor(options: StorageControllerOptions); 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>; action(name: 'readJson', args: { path: string; }): Promise; action(name: 'writeJson', args: { path: string; value: StorageObject; }): Promise; action(name: 'getJsonPaths', args: { path: string; }): Promise>; action(name: '_copyFromLocalPath', args: { path: string; fromPath: string; }): Promise; } export { StorageController, StorageControllerOptions, };