import type { FunctionDeclaration, Node, ParameterDeclaration, SourceFile } from 'typescript';
/**
 * Get the text of a node from source code
 */
export declare function getNodeText(node: Node, sourceCode: string, sf?: SourceFile): string;
/**
 * Extract JSDoc comments from a node
 */
export declare function extractJSDocComments(node: Node, sourceFile: SourceFile): string[];
/**
 * Get parameter name without default values for DTS
 */
export declare function getParameterName(param: ParameterDeclaration, sf?: SourceFile): string;
/**
 * Check if a node has export modifier
 */
export declare function hasExportModifier(node: Node): boolean;
/**
 * Check if a function has async modifier
 */
export declare function hasAsyncModifier(node: FunctionDeclaration): boolean;
/**
 * Check if a non-exported function should be included (e.g., if it's referenced by exported items)
 */
export declare function shouldIncludeNonExportedFunction(_functionName?: string, _sourceCode?: string): boolean;
/**
 * Check if a non-exported interface should be included (e.g., if it's used by exported items)
 */
export declare function shouldIncludeNonExportedInterface(interfaceName: string, sourceCode: string): boolean;
/**
 * Check if a type is a built-in TypeScript type
 */
export declare function isBuiltInType(typeName: string): boolean;
/**
 * Extract type names from module/namespace text
 */
export declare function extractTypesFromModuleText(moduleText: string): string[];
// Re-exported from directives.ts for backward compatibility
export { extractTripleSlashDirectives } from './directives';
