/// <reference types="node" />
import { File } from './file';
import { Path } from './path';
export declare class Kobold {
    private categoryIdMap;
    private repositories;
    private defaultRepository?;
    addCategories(categories: Record<string, number>): void;
    addCategory(name: string, id: number): void;
    addRepository(opts: {
        name: string;
        path: string;
        default?: boolean;
    }): void;
    getFile<T extends File>(stringOrPath: string | Path, FileClass: new (opts: {
        data: Buffer;
    }) => T): Promise<T>;
    getFileRaw(stringOrPath: string | Path): Promise<Buffer>;
    private parsePath;
}
