/** * @packageDocumentation * Shared call-expression helpers for matching method calls safely. */ import { type TSESTree } from "@typescript-eslint/utils"; /** * Strongly-typed shape for non-computed member calls with identifier receiver * and property (e.g. `Object.keys`). */ export type IdentifierMemberCallExpression = TSESTree.CallExpression & { callee: TSESTree.MemberExpression & { computed: false; object: TSESTree.Identifier; property: TSESTree.Identifier; }; }; /** * Strongly-typed shape for non-computed member calls with identifier property * (e.g. `value.includes`). */ export type IdentifierPropertyMemberCallExpression = TSESTree.CallExpression & { callee: TSESTree.MemberExpression & { computed: false; object: Exclude; property: TSESTree.Identifier; }; }; /** * Match `ObjectName.methodName(...)` style calls. * * @param options - Candidate call expression and expected receiver/member * names. * * @returns Narrowed call expression when the shape matches; otherwise `null`. */ export declare const getIdentifierMemberCall: (options: Readonly<{ memberName: string; node: Readonly; objectName: string; }>) => IdentifierMemberCallExpression | null; /** * Match `.memberName(...)` style calls where the property is a * non-computed identifier. * * @param options - Candidate call expression and expected member name. * * @returns Narrowed call expression when matched; otherwise `null`. */ export declare const getIdentifierPropertyMemberCall: (options: Readonly<{ memberName: string; node: Readonly; }>) => IdentifierPropertyMemberCallExpression | null; //# sourceMappingURL=member-call.d.ts.map