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