import { HostBinding, Injector, type Signal, type WritableSignal } from '@angular/core'; /** * `hostBinding` takes a `hostPropertyName` to attach a data property, a class, a style or an attribute (as `@HostBinding` would) to the host. * The udpate is applied based on the update of the provided signal (writable or not). * * @param {Required['hostPropertyName']} hostPropertyName - the same property that is bound to a data property, a class, a style or an attribute as `@HostBinding`. * @param {Signal | WritableSignal} signal - the signal on which to react to changes to update the host, and the one that will be returned as it is * @returns {Signal | WritableSignal} * * @example * ```ts * export class MyComponent { * readonly background = hostBinding('style.background', signal('blue')); * * constructor() { * setTimeout(() => this.background.set('red'), 3000); * } * } * ``` */ export declare function hostBinding | WritableSignal>(hostPropertyName: Required['hostPropertyName'], signal: S, injector?: Injector): S;