import { Observable } from '../Observable'; export declare function last(this: Observable, predicate: (value: T, index: number, source: Observable) => value is S): Observable; export declare function last(this: Observable, predicate: (value: T | S, index: number, source: Observable) => value is S, resultSelector: (value: S, index: number) => R, defaultValue?: R): Observable; export declare function last(this: Observable, predicate: (value: T, index: number, source: Observable) => value is S, resultSelector: void, defaultValue?: S): Observable; export declare function last(this: Observable, predicate?: (value: T, index: number, source: Observable) => boolean): Observable; export declare function last(this: Observable, predicate: (value: T, index: number, source: Observable) => boolean, resultSelector?: (value: T, index: number) => R, defaultValue?: R): Observable; export declare function last(this: Observable, predicate: (value: T, index: number, source: Observable) => boolean, resultSelector: void, defaultValue?: T): Observable;