import { TeardownLogic, Observable } from "rxjs";
/**
 * Typed version of `SimpleChange`
 */
export interface TypedChange<T> {
    previousValue: T;
    currentValue: T;
    firstChange: boolean;
    isFirstChange(): boolean;
}
/**
 * Typed version of `SimpleChanges`
 */
export declare type TypedChanges<T> = {
    [key in keyof T]?: TypedChange<T[key]>;
};
/**
 * Objects that can be passed {@link Stream#sink sink} or {@link Stream#add add}
 */
export declare type Sinkable = TeardownLogic | Observable<TeardownLogic>;
