import { CompilerOptionsJson } from "../options/tsc";
import { OutModules } from "../options/typescript";
import { AbsPosixPath, RelPosixPath } from "../types";
export interface TypescriptConfig {
    readonly tscOptions: CompilerOptionsJson;
    readonly tsconfigJson: AbsPosixPath | null;
    readonly customTypingsDir: AbsPosixPath | null;
    readonly packageJson: AbsPosixPath;
    readonly buildDir: AbsPosixPath;
    readonly srcDir: AbsPosixPath;
    readonly scripts: Iterable<string>;
    readonly outModules: OutModules;
}
export interface ResolvedTsLocations {
    /**
     * Absolute path for the directory containing the `tsconfig.json` file.
     */
    readonly tsconfigJsonDir: AbsPosixPath;
    /**
     * Absolute path for the `tsconfig.json` file.
     */
    readonly tsconfigJson: AbsPosixPath;
    /**
     * Root directory containing the sources, relative to `tsconfigJsonDir`.
     */
    readonly rootDir: RelPosixPath;
    /**
     * If the typeRoots are not just `@types`, an array of type root directories, relative to `tsconfigJsonDir`.
     */
    readonly typeRoots: RelPosixPath[] | undefined;
    /**
     * Directory containing the build, relative to `tsconfigJsonDir`
     */
    readonly outDir: RelPosixPath;
    /**
     * Patterns matching scripts to include, relative to `rootDir`.
     */
    readonly relInclude: string[];
    /**
     * Patterns matching scripts to exclude, relative to `rootDir`.
     */
    readonly relExclude: string[];
    /**
     * Patterns matching the scripts, relative to `rootDir`.
     */
    readonly absScripts: string[];
}
export declare function resolveTsLocations(options: TypescriptConfig): ResolvedTsLocations;
