hunk.code_window: import { OperatorSubscriber } from './OperatorSubscriber';
   export interface RetryConfig {
     count: number;
  
hunk.labels: add keep keep keep
hunk.after_edit: import { identity } from '../util/identity';
  
hunk.file_path: src/internal/operators/retry.ts
hunk.type: add
file: import { combineLatestInit } from '../observable/combineLatest';
  import { ObservableInput, ObservableInputTuple, OperatorFunction } from '../types';
  import { operate } from '../util/lift';
  import { argsOrArgArray } from '../util/argsOrArgArray';
  import { mapOneOrManyArgs } from '../util/mapOneOrManyArgs';
  import { pipe } from '../util/pipe';
  import { popResultSelector } from '../util/args';
  
  /** @deprecated Replaced with {@link combineLatestWith}. Will be removed in v8. */
  export function combineLatest<T, A extends readonly unknown[], R>(
    sources: [...ObservableInputTuple<A>],
    project: (...values: [T, ...A]) => R
  ): OperatorFunction<T, R>;
  /** @deprecated Replaced with {@link combineLatestWith}. Will be removed in v8. */
  export function combineLatest<T, A extends readonly unknown[], R>(sources: [...ObservableInputTuple<A>]): OperatorFunction<T, [T, ...A]>;
  
  /** @deprecated Replaced with {@link combineLatestWith}. Will be removed in v8. */
  export function combineLatest<T, A extends readonly unknown[], R>(
    ...sourcesAndProject: [...ObservableInputTuple<A>, (...values: [T, ...A]) => R]
  ): OperatorFunction<T, R>;
  /** @deprecated Replaced with {@link combineLatestWith}. Will be removed in v8. */
  export function combineLatest<T, A extends readonly unknown[], R>(...sources: [...ObservableInputTuple<A>]): OperatorFunction<T, [T, ...A]>;
  
  /**
   * @deprecated Replaced with {@link combineLatestWith}. Will be removed in v8.
   */
  export function combineLatest<T, R>(...args: (ObservableInput<any> | ((...values: any[]) => R))[]): OperatorFunction<T, unknown> {
    const resultSelector = popResultSelector(args);
    return resultSelector
      ? pipe(combineLatest(...args), mapOneOrManyArgs(resultSelector))
      : operate((source, subscriber) => {
          combineLatestInit([source, ...argsOrArgArray(args)])(subscriber);
        });
  }
  