UNPKG

@angular/fire

Version:

The official Angular library for Firebase.

33 lines (32 loc) 1.52 kB
import { NgZone } from '@angular/core'; import { Observable } from 'rxjs'; declare type MyFunction = (...args: any[]) => any; declare type FunctionPropertyNames<T> = { [K in keyof T]: T[K] extends MyFunction ? K : never; }[keyof T]; declare type ReturnTypeOrNever<T> = T extends MyFunction ? ReturnType<T> : never; declare type ParametersOrNever<T> = T extends MyFunction ? Parameters<T> : never; declare type PromiseReturningFunctionPropertyNames<T> = { [K in FunctionPropertyNames<T>]: ReturnTypeOrNever<T[K]> extends Promise<any> ? K : never; }[FunctionPropertyNames<T>]; declare type NonPromiseReturningFunctionPropertyNames<T> = { [K in FunctionPropertyNames<T>]: ReturnTypeOrNever<T[K]> extends Promise<any> ? never : K; }[FunctionPropertyNames<T>]; declare type NonFunctionPropertyNames<T> = { [K in keyof T]: T[K] extends MyFunction ? never : K; }[keyof T]; export declare type ɵPromiseProxy<T> = { [K in NonFunctionPropertyNames<T>]: Promise<T[K]>; } & { [K in NonPromiseReturningFunctionPropertyNames<T>]: (...args: ParametersOrNever<T[K]>) => Promise<ReturnTypeOrNever<T[K]>>; } & { [K in PromiseReturningFunctionPropertyNames<T>]: T[K]; }; export declare const ɵlazySDKProxy: (klass: any, observable: Observable<any>, zone: NgZone, options?: { spy?: { get?: (name: string, it: any) => void; apply?: (name: string, args: any[], it: any) => void; }; }) => any; export declare const ɵapplyMixins: (derivedCtor: any, constructors: any[]) => void; export {};