import { Node, SourceFile, ClassDeclaration } from 'typescript'; import { FindElementFn, CheckUnderNode } from '../find'; import { AnyOpts } from '../modify'; import { ElementsType } from '../types'; export declare type InsertPosNumParams = { node: Node; elements: ElementsType; insert: CollectionInsert; count: number; }; export declare const getInsertPosNum: ({ node, elements, insert, count, }: InsertPosNumParams) => number | undefined; export declare type CollectionInsertIndex = 'start' | 'end' | number; export declare type CollectionInsert = { index?: CollectionInsertIndex; findElement?: FindElementFn; abortIfFound?: CheckUnderNode; relative?: InsertRelativePos; }; export declare type InsertRelativePos = 'before' | 'after'; export declare const insertClassCode: (srcNode: SourceFile, { index, code, indexAdj }: any) => string; export declare const alternativeClassInsertIndex: (classDecl: ClassDeclaration, opts: any) => any; export declare const classInsertIndex: (classDecl: ClassDeclaration, opts: any) => any; export declare const insertInClassScope: (srcNode: SourceFile, opts: AnyOpts) => string | undefined; export declare const boundsInsertPos: (bounds: any) => any; export declare const calcPosNoElements: (bounds: any, opts: any) => any; export declare const insertIntoNoElements: (srcNode: any, opts: any) => string | undefined; export declare const insertIntoElements: (srcNode: any, opts: any) => string; export declare const setInsertFunctions: (opts: any) => any; export declare const insertIntoNode: (srcNode: SourceFile, opts: AnyOpts) => string | undefined; export declare const afterLastElementPos: (elements: ElementsType) => number; export declare const aroundElementPos: (elements: ElementsType, pos: number, relativePos: InsertRelativePos) => number; export declare const getNextElem: (elements: ElementsType, pos: number) => any;