/**
 * Supported transform intents — each maps to a specific AST transformation.
 */
export type TransformIntent = 'rename-symbol' | 'add-types' | 'add-error-handling' | 'modernize-syntax' | 'extract-interface' | 'add-jsdoc';
export declare const TRANSFORM_INTENTS: readonly TransformIntent[];
export interface RenameSymbolOptions {
    readonly oldName: string;
    readonly newName: string;
}
export interface AddTypesOptions {
    readonly inferFromUsage?: boolean;
}
export interface AddErrorHandlingOptions {
    readonly style?: 'rethrow' | 'return-null' | 'log-and-rethrow';
}
export interface ModernizeSyntaxOptions {
    readonly varToConst?: boolean;
    readonly requireToImport?: boolean;
    readonly moduleExportsToExport?: boolean;
    readonly templateLiterals?: boolean;
}
export interface ExtractInterfaceOptions {
    readonly className: string;
    readonly interfaceName?: string;
}
export interface AddJSDocOptions {
    readonly includeParams?: boolean;
    readonly includeReturns?: boolean;
    readonly includeThrows?: boolean;
}
/**
 * Union of all per-intent option types.
 */
export type TransformOptions = RenameSymbolOptions | AddTypesOptions | AddErrorHandlingOptions | ModernizeSyntaxOptions | ExtractInterfaceOptions | AddJSDocOptions;
export interface TransformRequest {
    readonly source: string;
    readonly intent: TransformIntent;
    readonly options: TransformOptions;
    readonly fileName?: string;
}
export interface TransformChange {
    readonly line: number;
    readonly description: string;
}
export interface TransformResult {
    readonly success: boolean;
    readonly transformed: string;
    readonly changes: TransformChange[];
    readonly durationMs: number;
    readonly error?: string;
}
export interface WrapTarget {
    readonly name: string;
    readonly bodyStart: number;
    readonly bodyEnd: number;
    readonly line: number;
}
export interface DocInsertion {
    readonly position: number;
    readonly text: string;
    readonly line: number;
    readonly name: string;
}
export interface TypeReplacement {
    readonly position: number;
    readonly length: number;
    readonly newText: string;
    readonly line: number;
    readonly description: string;
}
export interface RenameResult {
    readonly transformed: string;
    readonly changes: TransformChange[];
}
export interface AddTypesResult {
    readonly transformed: string;
    readonly changes: TransformChange[];
}
export interface ErrorHandlingResult {
    readonly transformed: string;
    readonly changes: TransformChange[];
}
export interface AddJSDocResult {
    readonly transformed: string;
    readonly changes: TransformChange[];
}
export interface ExtractResult {
    readonly transformed: string;
    readonly changes: TransformChange[];
}
export interface ModernizeResult {
    readonly transformed: string;
    readonly changes: TransformChange[];
}
export interface MemberInfo {
    readonly name: string;
    readonly signature: string;
}
export interface TextReplacement {
    readonly start: number;
    readonly end: number;
    readonly text: string;
    readonly line: number;
}
export interface DispatchResult {
    readonly transformed: string;
    readonly changes: TransformChange[];
}
export interface TransformCodeInput {
    readonly source: string;
    readonly intent: string;
    readonly options?: Record<string, unknown>;
}
//# sourceMappingURL=code-transforms.d.ts.map