import { Config } from 'alinea/core/Config';
import type { UploadResponse } from 'alinea/core/Connection';
import { type CommitRequest } from 'alinea/core/db/CommitRequest';
import { LocalDB } from 'alinea/core/db/LocalDB';
import { CachedFSSource } from 'alinea/core/source/FSSource';
export interface DevDBOptions {
    config: Config;
    rootDir: string;
    dashboardUrl: string | undefined;
}
export interface WatchFiles {
    files: Array<string>;
    dirs: Array<string>;
}
export declare class DevDB extends LocalDB {
    #private;
    source: CachedFSSource;
    constructor(options: DevDBOptions);
    sync(): Promise<string>;
    fix(): Promise<void>;
    watchFiles(): Promise<WatchFiles>;
    isInMediaLocation(file: string): boolean;
    write(request: CommitRequest): Promise<{
        sha: string;
    }>;
    prepareUpload(file: string): Promise<UploadResponse>;
}
