#!/usr/bin/env node
import ts from 'typescript';
/**
 * @typedef {{
 *   filePath: string,
 *   language: 'js'|'javascript'|'ts'|'typescript',
 *   code: string,
 *   fenceLine: number,
 *   startLine: number,
 * }} MarkdownCodeSample
 */
/**
 * @typedef {{
 *   filePath: string,
 *   line: number,
 *   column: number,
 *   message: string,
 *   language: string,
 * }} MarkdownCodeSampleIssue
 */
/**
 * @param {string} info
 * @returns {string | null}
 */
export declare function parseFenceLanguage(info: string): string | null;
/**
 * @returns {ts.ScriptTarget}
 */
export declare function resolveRepoScriptTarget(): ts.ScriptTarget;
/**
 * @param {string} markdown
 * @param {string} filePath
 * @returns {MarkdownCodeSample[]}
 */
export declare function extractMarkdownCodeSamples(markdown: string, filePath: string): {
    filePath: string;
    language: string;
    code: string;
    fenceLine: number;
    startLine: number;
}[];
/**
 * @param {string} startPath
 * @returns {string[]}
 */
export declare function collectMarkdownFiles(startPath?: string): string[];
/**
 * @param {MarkdownCodeSample} sample
 * @returns {MarkdownCodeSampleIssue[]}
 */
export declare function lintMarkdownCodeSample(sample: {
    filePath: string;
    language: string;
    code: string;
    fenceLine: number;
    startLine: number;
}): {
    filePath: string;
    line: number;
    column: number;
    message: string;
    language: string;
}[];
/**
 * @param {string[]} markdownFiles
 * @returns {MarkdownCodeSampleIssue[]}
 */
export declare function lintMarkdownCodeSamples(markdownFiles: string[]): {
    filePath: string;
    line: number;
    column: number;
    message: string;
    language: string;
}[];
