import { IMethodService } from "./i-method-service"; import { MethodDeclaration, SyntaxKind } from "typescript"; import { ClassFunctionLikeService } from "../class-function-like/class-function-like-service"; import { IPlacement } from "../../placement/i-placement"; import { IParameterCtor } from "../../light-ast/ctor/parameter/i-parameter-ctor"; /** * A service that helps with working with MethodDeclarations */ export declare class MethodService extends ClassFunctionLikeService implements IMethodService { /** * The allowed SyntaxKinds when parsing a SourceFile for relevant Expressions * @type {Iterable} */ protected readonly ALLOWED_KINDS: Iterable; /** * Appends the provided instructions to the provided instruction * @param {string} instructions * @param {MethodDeclaration} method * @returns {MethodDeclaration} */ appendInstructions(instructions: string, method: MethodDeclaration): MethodDeclaration; /** * Prepends some instructions to a ConstructorDeclaration. If it contains a 'super()' call, it will place * the instructions immediately after that one. * @param {string} instructions * @param {ConstructorDeclaration} method * @returns {ConstructorDeclaration} */ prependInstructions(instructions: string, method: MethodDeclaration): MethodDeclaration; /** * Adds a Parameter to the provided MethodDeclaration * @param {IParameterCtor} parameter * @param {MethodDeclaration} method * @param {IPlacement} [placement] * @returns {MethodDeclaration} */ addParameter(parameter: IParameterCtor, method: MethodDeclaration, placement?: IPlacement): MethodDeclaration; }