import type { InjectOptions, ProviderToken, Signal } from '@angular/core';
import type { Observable } from 'rxjs';
type OutputKeysOf<T> = {
    [K in keyof T]: T[K] extends Observable<any> | Signal<any> ? K : never;
}[keyof T];
type OutputTypeOf<T> = T extends Signal<infer R> ? R : T extends Observable<infer O> ? O : never;
/** @deprecated remove in v5 */
export declare function tuiDirectiveListener<T, K extends OutputKeysOf<T>>(token: ProviderToken<T>, key: K, options?: InjectOptions): Signal<OutputTypeOf<T[K]>>;
export {};
