import * as ts from 'typescript';
import { TSESTree } from './ts-estree';
/**
 * Convert all comments for the given AST.
 * @param ast the AST object
 * @param code the TypeScript code
 * @returns the converted ESTreeComment
 * @private
 */
export declare function convertComments(ast: ts.SourceFile, code: string): TSESTree.Comment[];
//# sourceMappingURL=convert-comments.d.ts.map