import { Predicate } from './types'; /** * Checks whether a value of given property of an object satisfies a predicate * * If you need to check more properties at a time use {@link structure}. * * @example * is.property('name', is.string, {name: 'Tommy'}); // true * is.property('name', is.string)({name: 'Tommy'}); // true * is.property('name', is.string, {name: 2}); // false - since 2 is not a string * is.property('name', is.string, {}); // false - since undefined is not a string * * @throws {TypeError} if predicate is not a function * @throws {Error} if too few arguments provided * @throws {TypeError} is property name is not a string or a symbol */ declare function property(propertyName: string | Symbol, predicate: Predicate | Function): Predicate; declare function property(propertyName: string | Symbol, predicate: Predicate | Function, object: Object, ...extraParams: any[]): boolean; export default property;