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