import { Language } from "budgie";
import { IFileSystem } from "../fileSystem";
import { IConversionResult, IConverter } from "./converter";
/**
 * Dependencies to initialize a new instance of the BudgieConverter class.
 */
export interface IBudgieConverterDependencies {
    /**
     * Reads and writes files.
     */
    fileSystem: IFileSystem;
    /**
     * Output language.
     */
    language: Language;
}
/**
 * Extension for Budgie files.
 */
export declare const budgieExtension = ".bg";
/**
 * Converts Budgie files to their language outputs.
 */
export declare class BudgieConverter implements IConverter {
    /**
     * Dependencies used for initialization.
     */
    private readonly dependencies;
    /**
     * Driving context to use a parse Budgie into language outputs.
     */
    private readonly budgie;
    /**
     * Initializes a new instance of the BudgieConverter class.
     *
     * @param dependencies   Dependencies used for initialization.
     */
    constructor(dependencies: IBudgieConverterDependencies);
    /**
     * Converts a Budgie file to its language output.
     *
     * @param sourcePath   Original Budgie file path.
     * @returns The file's language output.
     */
    convertFile(sourcePath: string): Promise<IConversionResult>;
}
