import type { AjvOptions, JSONObject } from '@diplodoc/translation';
export declare class FileLoader<T = string | JSONObject> {
    get data(): T;
    get isString(): boolean;
    get isObject(): boolean;
    private _data;
    private parts;
    private path;
    private resolveRefs;
    constructor(path: AbsolutePath, resolveRefs?: boolean);
    set(data: T): this;
    load(): Promise<T>;
    dump(repath?: (path: string) => string): Promise<void>;
}
/**
 * Takes toc schema if file matched as toc.
 * Takes leading schema if file matched as leading page.
 * Takes presets schema if file matched as presets.
 * Any way translation inner logic will search `$schema` attribute with high priority.
 * If `$schema` attribute not found anc precise schema not resolved,
 * we think that current yaml is a part of complex toc.yaml
 */
export declare function resolveSchemas({ content, path, customSchemaPath, }: {
    content: string | JSONObject;
    path: string;
    customSchemaPath?: string[];
}): Promise<{
    schemas: JSONObject[];
    ajvOptions?: AjvOptions | undefined;
}>;
