export declare type ReadableTypeStatic = { [Key in keyof ObjectType]: Key extends PropertyType ? (Type extends ObjectType[Key] ? Type : ObjectType[Key]) : ObjectType[Key]; }; export declare type ReadableTypeDynamic = ObjectType & { [Key in PropertyType]: Type; }; /** * check if property {@param property} in {@param object} type is {@template Type} * {@param validation} is use for validate value type */ export default function ValueParameters(object: ObjectType, property: PropertyType, validation: (value: ObjectType[PropertyType]) => value is Type): object is ReadableTypeStatic; export default function ValueParameters(object: object, property: PropertyType, validation: (value: unknown) => value is Type): object is ReadableTypeDynamic;