import type { UploadMetaFnParams, UploadDataFnParams, DownloadMetaFnParams, DownloadDataFnParams } from './types';
import type { AnyLink, Loader } from '@fireproof/core';
export declare abstract class Connection {
    ready: Promise<any>;
    loaded: Promise<any>;
    abstract metaUpload(bytes: Uint8Array, params: UploadMetaFnParams): Promise<Uint8Array[] | null>;
    abstract dataUpload(bytes: Uint8Array, params: UploadDataFnParams, opts?: {
        public?: boolean;
    }): Promise<void | AnyLink>;
    abstract metaDownload(params: DownloadMetaFnParams): Promise<Uint8Array[] | null>;
    abstract dataDownload(params: DownloadDataFnParams): Promise<Uint8Array | null>;
    constructor();
    loader?: Loader | null;
    refresh(): Promise<void>;
    connect(loader: Loader): void;
    connectMeta(loader: Loader): void;
    connectStorage(loader: Loader): void;
}
