import { IPropertyAccessExpressionService } from "./i-property-access-expression-service"; import { PropertyAccessExpression, SyntaxKind } from "typescript"; import { IPrinter, ITypescriptASTUtil } from "@wessberg/typescript-ast-util"; import { NodeService } from "../node/node-service"; import { IRemover } from "../../remover/i-remover-base"; import { IDecoratorService } from "../decorator/i-decorator-service"; import { ITypescriptLanguageService } from "@wessberg/typescript-language-service"; import { IJoiner } from "../../joiner/i-joiner-getter"; import { IUpdater } from "../../updater/i-updater-getter"; /** * A service for working with PropertyAccessExpressions */ export declare class PropertyAccessExpressionService extends NodeService implements IPropertyAccessExpressionService { private readonly printer; /** * The allowed SyntaxKinds when parsing a SourceFile for relevant Expressions * @type {Iterable} */ protected readonly ALLOWED_KINDS: Iterable; constructor(printer: IPrinter, joiner: IJoiner, updater: IUpdater, astUtil: ITypescriptASTUtil, decoratorService: IDecoratorService, languageService: ITypescriptLanguageService, remover: IRemover); /** * Gets the name of the property in a PropertyAccessExpression * @param {PropertyAccessExpression} expression * @returns {string} */ getPropertyName(expression: PropertyAccessExpression): string; /** * Gets the name of the identifier of a PropertyAccessExpression * @param {PropertyAccessExpression} expression * @returns {string} */ getIdentifierName(expression: PropertyAccessExpression): string; }