import { Block, Expression, IfStatement } from 'typescript'; import { AnyOpts } from '../../modify'; import { InsertDef, ReplaceDef } from '../common'; export interface RefactorIfStmtOpts { condName?: string; fnName?: string; } export declare const createFnCode: (block: Block, expr: Expression, opts: any) => { insertPos: number; code: string; }; export declare const ifStmtBlockToCall: (ifStmt: IfStatement, block: Block, { name, }: { name?: string | undefined; }) => ReplaceDef; export declare const srcsFor: (ifStmt: IfStatement, block: Block, expr: Expression, opts?: any) => { name: any; fnSrc: { insertPos: number; code: string; }; callSrc: ReplaceDef; } | undefined; export declare const ifStmtExtractFunction: (ifStmt: IfStatement, opts: AnyOpts) => { name?: any; fnSrc?: { insertPos: number; code: string; } | undefined; callSrc?: ReplaceDef | undefined; ifStmt: IfStatement; } | undefined; export declare type IfStmtExtractResult = { name: string; source: string; callSrc: ReplaceDef; fnSrc: InsertDef; };