///
///
///
///
import type logging from 'loglevel';
import type { BehaviorSubject } from 'rxjs';
import type { TransferState } from '../transfers/state';
import type { Address, Decodable } from '../utils/types';
export interface TransferStateish extends Decodable {
_rev: string;
}
export declare type Migrations = {
readonly [version: number]: (doc: PouchDB.Core.IdMeta & PouchDB.Core.RevisionIdMeta, db: RaidenDatabase) => Promise<(PouchDB.Core.IdMeta & Partial)[]>;
};
export interface RaidenDatabaseMeta {
_id: '_meta';
version: number;
network: number;
udc: Address;
address: Address;
blockNumber: number;
}
export declare type RaidenDatabaseOptions = {
log?: logging.Logger;
versionchanged?: boolean;
} & (PouchDB.Configuration.LocalDatabaseConfiguration | PouchDB.Configuration.RemoteDatabaseConfiguration);
export interface RaidenDatabase extends PouchDB.Database {
storageKeys: Set;
busy$: BehaviorSubject;
constructor: RaidenDatabaseConstructor;
__opts: RaidenDatabaseOptions;
}
export declare type RaidenDatabaseConstructor = (new (name?: string, options?: PouchDB.Configuration.LocalDatabaseConfiguration | PouchDB.Configuration.RemoteDatabaseConfiguration) => RaidenDatabase) & {
__defaults: RaidenDatabaseOptions;
};