import { RadixAtom , RadixAID , RadixAddress } from '../atommodel' ; import { RadixAtomNodeStatusUpdate , RadixAtomObservation } from '../..' ; import { Observable } from 'rxjs' ; import { RadixAtomStoreEntry } from './RadixNEDBAtomStore' ; export interface RadixAtomStore { param { RadixAtom } atom param { RadixAtomNodeStatusUpdate } status returns insert ( atom , status ) : Promise < boolean > ; param { RadixAID } aid param { RadixAtomNodeStatusUpdate } status returns updateStatus ( aid , status ) : Promise < boolean > ; param { RadixAID } aid returns getAtom ( aid ) : Promise < RadixAtomObservation > ; param { RadixAddress } address returns getAtomObservations ( address ? ) : Observable < RadixAtomObservation > ; param { RadixAddress } address returns getStoredAtomObservations ( address ? ) : Observable < RadixAtomObservation > ; param { RadixAID } aid returns getAtomStatusUpdates ( aid ) : Observable < RadixAtomNodeStatusUpdate > ; returns reset ( ) : Promise < boolean > ; }