import {Controller} from '../Controller' import {MixingValue} from '../MixingValue' export class Any {private _: any} export interface Lookup { [key: string]: T } export type UnknownProps = any export type Falsy = false | null | undefined export type OneOrMore = T | T[] export type IsPlainObject = T extends ReadonlyArray ? Any : T extends object ? object : Any export interface Readable { get(): T } export type NoInfer = [T][T extends any ? 0 : never] export type InferState = T extends Controller ? State : T extends MixingValue ? U : unknown export type InferTarget = T extends object ? T extends ReadonlyArray ? MixingValue : Controller : MixingValue export type StringKeys = T extends IsPlainObject ? string & keyof T : string