import { In, Out } from "../_interfaces"; import { EventStream } from "../EventStream"; import { Property } from "../Property"; /** * For `EventStream`, this operator adds an extra event with the given value * to the beginning of the stream. * * For `Property`, this operator ensures that the property has an initial value. * If the property already has an initial value then this operator is a no-op. * * @param value Value to be added to the stream / property's initial value * @param observable Source observable * * @example * * F.pipe(F.once(1), * F.startWith(2), * F.startWith(3), * F.log("EventStream")) * // logs: 3, 2, 1, * * F.pipe(F.constant(1), * F.startWith(2), * F.startWith(3), * F.log("Property")) * // logs: 1, * * @public */ export declare const startWith: CurriedStartWith; interface CurriedStartWith { (value: ValueType, observable: In): Out; (value: ValueType): (observable: In) => Out; } export declare function _startWithE(value: T, stream: EventStream): EventStream; export declare function _startWithP(value: T, property: Property): Property; export {};