import { DatabaseMigration } from './database-migration';
import { Injector } from '@angular/core';
import { BuildableDatabaseManager } from '../utils/buildable-database-manager';
import { DatabaseFactoryContract } from '../utils/database-factory-contract';
import { DatabaseObject } from 'database-builder';
import { Observable } from 'rxjs';
import { DatabaseSettingsFactoryContract } from '../utils/database-settings-factory-contract';
import { PlatformLoad } from '../utils/platform-load';
export declare class Database extends BuildableDatabaseManager {
    private _isAvailable;
    private _databaseMigration;
    constructor(_isAvailable: boolean, isEnableLog: boolean, databaseSettings: DatabaseSettingsFactoryContract, injector: Injector, databaseFactory: DatabaseFactoryContract, _databaseMigration: DatabaseMigration, platformLoad: PlatformLoad);
    protected migrationVersion(database: DatabaseObject, version: number): Observable<boolean>;
    protected databaseName(): string;
    version(): number;
    databaseNameFile(databaseName?: string): string;
}
