UNPKG

658 BTypeScriptView Raw
1declare module '@ember/-internals/utility-types' {
2 export type AnyFn = (...args: any[]) => any;
3 export type MethodsOf<T> = {
4 [K in keyof T as T[K] extends AnyFn ? K : never]: T[K] extends AnyFn ? T[K] : never;
5 };
6 export type MethodNamesOf<T> = keyof MethodsOf<T>;
7 export type MethodParams<T, M extends MethodNamesOf<T>> = Parameters<MethodsOf<T>[M]>;
8 export type MethodReturns<T, M extends MethodNamesOf<T>> = ReturnType<MethodsOf<T>[M]>;
9 export type OmitFirst<F> = F extends [any, ...infer R] ? R : [];
10 const Data: unique symbol;
11 export class Opaque<Data> {
12 private [Data];
13 }
14 export type Nullable<T> = T | null;
15 export {};
16}