export declare type SecurityKey = 'error' | 'warning' | 'info' | 'hint'; export interface ISecurities { [key: string]: SecurityKey; } export interface ILinterConfig { command: string; rootPatterns: string[] | string; isStdout?: boolean; isStderr?: boolean; debounce?: number; onSaveOnly?: boolean; args?: Array; sourceName: string; formatLines?: number; ignore?: string[]; formatPattern: [string, { sourceName?: string; sourceNameFilter?: boolean; line: number; column: number; endLine?: number; endColumn?: number; message: Array | number; security: number; }]; securities?: ISecurities; offsetLine?: number; offsetColumn?: number; offsetLineStart?: number; offsetLineEnd?: number; offsetColumnStart?: number; offsetColumnEnd?: number; requiredFiles?: string[]; parseJson?: { errorsRoot?: string | string[]; sourceName?: string; sourceNameFilter?: boolean; line: string; column: string; endLine?: string; endColumn?: string; message: string; security: string; }; } export interface ILinterResult { sourceName: string; security: string; line: string | number; column: string | number; endLine?: string | number; endColumn?: string | number; message: string; } export interface IFormatterConfig { command: string; args?: Array; rootPatterns?: string[] | string; isStdout?: boolean; isStderr?: boolean; doesWriteToFile?: boolean; requiredFiles?: string[]; ignoreExitCode?: boolean | number[]; ignore?: string[]; } export interface IConfig { linters: { [linter: string]: ILinterConfig; }; filetypes: { [fileType: string]: string | string[]; }; formatters: { [formatter: string]: IFormatterConfig; }; formatFiletypes: { [fileType: string]: string | string[]; }; }