1 | declare 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 | }
|