import * as ts from 'typescript/lib/tsserverlibrary'; import { IClassNameExtractor } from '../core/interfaces'; import { ClassNameInfo, ExtractionContext } from '../core/types'; /** * Abstract base class for all extractors * Provides common functionality and enforces the contract */ export declare abstract class BaseExtractor implements IClassNameExtractor { abstract canHandle(node: ts.Node, context: ExtractionContext): boolean; abstract extract(node: ts.Node, context: ExtractionContext): ClassNameInfo[]; /** * Helper method to create ClassNameInfo from a string literal * Handles both single-line and multiline strings with various whitespace */ protected extractFromStringLiteral(literal: ts.StringLiteral | ts.NoSubstitutionTemplateLiteral, context: ExtractionContext): ClassNameInfo[]; /** * Helper method to check if a function call should be validated */ protected shouldValidateFunctionCall(callExpression: ts.CallExpression, utilityFunctions: string[]): boolean; } //# sourceMappingURL=BaseExtractor.d.ts.map