import type { BuildConfig } from '.';
import type { AssetInfo, IncludeInfo } from "../../core/markdown";
import type { Alternate } from "../../core/meta";
import { Run as BaseRun } from "../../core/run";
import { VarsService } from "../../core/vars";
import { MetaService } from "../../core/meta";
import { TocService } from "../../core/toc";
import { VcsService } from "../../core/vcs";
import { LeadingService } from "../../core/leading";
import { MarkdownService } from "../../core/markdown";
import { RedirectsService } from './services/redirects';
import { SearchService } from './services/search';
import { EntryService } from './services/entry';
type TransformOptions = {
    deps: IncludeInfo[];
    assets: AssetInfo[];
};
type Manifest = Hash<{
    js: string[];
    css: string[];
    async: string[];
}>;
export type TransformConfig = ReturnType<Run['transformConfig']>;
/**
 * This is transferable context for build command.
 * Use this context to communicate with lower data processing levels.
 */
export declare class Run extends BaseRun<BuildConfig> {
    readonly originalInput: AbsolutePath;
    readonly input: AbsolutePath;
    readonly output: AbsolutePath;
    readonly highlightStylesPath: AbsolutePath;
    readonly vars: VarsService;
    readonly meta: MetaService;
    readonly toc: TocService;
    readonly entry: EntryService;
    readonly vcs: VcsService;
    readonly leading: LeadingService;
    readonly markdown: MarkdownService;
    readonly search: SearchService;
    readonly redirects: RedirectsService;
    get configPath(): AbsolutePath;
    get bundlePath(): AbsolutePath;
    get assetsPath(): AbsolutePath;
    get manifest(): Manifest;
    constructor(config: BuildConfig);
    transform(file: NormalizedPath, markdown: string, options: TransformOptions): Promise<readonly [string, {
        title?: string | undefined;
        headings: import("@diplodoc/transform/lib/typings").Heading[];
        assets?: unknown[] | undefined;
        meta?: object | undefined;
        changelogs?: import("@diplodoc/transform/lib/plugins/changelog/types").ChangelogItem[] | undefined;
        additionalOptionsCssWhiteList?: import("@diplodoc/transform/lib/typings").CssWhiteList | undefined;
    }]>;
    lint(file: NormalizedPath, markdown: string, options: TransformOptions): Promise<import("node_modules/@diplodoc/yfmlint/build/typings").LintError[] | undefined>;
    alternates(file: NormalizedPath): Alternate[];
    private transformConfig;
    private getEntries;
    private getAlternateMap;
    private existsInProject;
    private files;
    private titles;
}
export {};
