import { Observable } from 'rxjs';
/**
 * An interface that requires ngOnDestroy
 */
export interface WithOnDestroy {
    ngOnDestroy(): void;
    componentDestroyed$?: Observable<true>;
    [key: string]: any;
}
/**
 * Patch the component with unsubscribe behavior
 *
 * @param component - The component class (`this` context)
 * @returns An observable representing the unsubscribe event
 */
export declare function componentDestroyed(component: WithOnDestroy): Observable<true>;
/**
 * A pipe-able operator to unsubscribe during OnDestroy lifecycle event
 *
 * @param component - The component class (`this` context)
 * @returns The component wrapped in an Observable
 *
 * @example
 * source.pipe(untilComponentDestroyed(this)).subscribe...
 */
export declare const untilComponentDestroyed: <T>(component: WithOnDestroy) => (source: Observable<T>) => Observable<T>;
