export interface FilesMatch {
    files: string[];
    dirs: string[];
    excluded: string[];
    extensions: string[];
}
export interface Issue {
    severity: IssueSeverity;
    code: string;
    message: string;
    file?: string;
    location?: IssueLocation;
}
export type IssueSeverity = 'error' | 'warning';
export interface IssueLocation {
    start: IssuePosition;
    end: IssuePosition;
}
export interface IssuePosition {
    line: number;
    column: number;
}
export interface TypeScriptDiagnosticsOptions {
    syntactic: boolean;
    semantic: boolean;
    declaration: boolean;
    global: boolean;
}
export interface TypescriptWorkerOptions {
    basedir?: string;
    configFile?: string;
    buildMode?: BuildMode;
    watch?: boolean;
    vue?: VueOptions;
}
export interface VueOptions {
    enabled: boolean;
}
export type BuildMode = 'readonly' | 'write-output' | 'write-tsbuildinfo' | 'write-dts' | 'write-references';
export type Formatter = (issue: Issue, options?: BabelCodeFrameOptions) => string;
export interface BabelCodeFrameOptions {
    highlightCode?: boolean;
    linesAbove?: number;
    linesBelow?: number;
    forceColor?: boolean;
    message?: string;
}
export interface FilesChange {
    changedFiles: string[];
    deletedFiles: string[];
}
