import { Media } from 'alinea/backend';
import { FS } from 'alinea/backend/FS';
import { Connection } from 'alinea/core';
import { Config } from 'alinea/core/Config';
import { Source, SourceEntry, WatchFiles } from '../../backend/Source.js';
import { Target } from '../../backend/Target.js';
export interface LocalDataOptions {
    config: Config;
    fs: FS;
    rootDir?: string;
    dashboardUrl?: string;
}
export declare class LocalData implements Source, Target, Media {
    options: LocalDataOptions;
    constructor(options: LocalDataOptions);
    watchFiles(): Promise<WatchFiles>;
    entries(): AsyncGenerator<SourceEntry>;
    mutate({ mutations }: Connection.MutateParams): Promise<{
        commitHash: string;
    }>;
    isInMediaLocation(file: string): boolean;
    prepareUpload(file: string): Promise<Connection.UploadResponse>;
}
