import { Loader } from "../loader/index"; import { ParseResult } from "../parser/proto"; import { File, Schema } from "./model"; export interface BuildConfig { loader: T; files: string[]; } export declare function build(config: BuildConfig): Promise; export interface FileInfo { filePath: string; parseResult: ParseResult; file: File; } export declare function extract(files: AsyncIterable): Promise; export declare function connect(schema: Schema): Schema; export interface GatherConfig { files: string[]; loader: Loader; } export declare function gather({ files, loader }: GatherConfig): AsyncGenerator; export declare function merge(older: Schema, newer: Schema): Schema; export type ResolveTypePathFn = (type: string, scope: `.${string}`) => string | undefined; export declare function getResolveTypePathFn(schema: Schema, filePath: string): ResolveTypePathFn;