import { FileType, ResolvedFilePart, File } from "../data";
import { RemoteFileSourceName } from "../data";
interface ValueIs<T> {
    (value: unknown): value is T;
}
export interface RemoteSourceOptions<T> {
    fileId?: string;
    source: RemoteFileSourceName;
    type?: FileType;
    typeId?: string;
    url?: string;
    token?: string;
    json?: boolean;
    files?: boolean;
    is?: ValueIs<T>;
    headers?: boolean | Headers;
    handler(contents: T): Promise<ResolvedFilePart | ResolvedFilePart[] | unknown | undefined | void>;
    contents?(options: RemoteSourceOptions<T>): Promise<Blob>;
}
export declare function importRemoteSource<T>(options: RemoteSourceOptions<T>): Promise<File>;
export declare function getRemoteSourceContents(url: string, options: RemoteSourceOptions<unknown>): Promise<Blob>;
export {};
