import type { Rule } from 'eslint'; import { type ObjectExpression, type Property, type SpreadElement } from 'eslint-codemod-utils'; declare const ASTObjectExpression: { /** * Returns `true` if an object contains a property with the specified name, `false` otherwise. */ hasProperty(node: ObjectExpression, name: string): boolean; /** * Returns true if an object contains no nested values, false otherwise. * * Note: * - Returns false if object contains spread elements. * - Returns true if object is empty. */ isFlat(node: ObjectExpression): boolean; /** * Returns the first Property node from an Object that matches the provided name. */ getEntryByPropertyName(node: ObjectExpression, name: string): Property | undefined; deleteEntry(node: ObjectExpression, name: string, fixer: Rule.RuleFixer): Rule.Fix[]; /** * Returns only the property @type {Property['key']} like: `padding` from: `{ padding: '8px' }`. * If you want the key/value pair, use `getEntryByPropertyName`. */ getProperty(node: ObjectExpression, name: string): Property['key'] | undefined; /** * Gets the array of key/value pairs in an ObjectExpression. */ getEntries(node: ObjectExpression): (Property | SpreadElement)[]; /** * Returns a only the property @type {Property['value']} like: `'8px` from: `{ padding: '8px' }`. * * Values can be basically anything, so be careful with this. */ getValueByPropertyName(node: ObjectExpression, name: string): Property['value'] | undefined; containsSpreadProps(node: ObjectExpression): boolean; updateValue(node: ObjectExpression, propertyName: string, newValue: string, fixer: Rule.RuleFixer): Rule.Fix; /** * Appends a key-value pair to the end of an object. For example: * ``` * ast.Object.appendEntry( * node, // { padding: 'space.100' } * key, // 'margin', * value, // 'space.200' * fixer, * ) * ``` * Will result in `{ padding: 'space.100', margin: 'space.200'}`. */ appendEntry(node: ObjectExpression, key: string, value: string, fixer: Rule.RuleFixer): Rule.Fix; recurse(node: ObjectExpression, callback: Function): void; }; export { ASTObjectExpression as Object };