import { Arity0 , Arity1 , Arity2 , Arity3 , Arity4 , Curry2 , Curry3 , Curry4 } from '../types' ; export type PlaceHolder = { readonly [ '@@placeholder' ] : true ; } ; export type PartialFn = { < A > ( f , args ) : Arity0 < A > ; < A , B > ( f , args ) : Arity0 < B > ; < A , B > ( f , args ) : typeof f ; < A , B > ( f , args ) : typeof f ; < A , B , C > ( f , args ) : Arity0 < C > ; < A , B , C > ( f , args ) : Arity1 < B , C > ; < A , B , C > ( f , args ) : Curry2 < A , B , C > ; < A , B , C > ( f , args ) : Arity1 < A , C > ; < A , B , C > ( f , args ) : Arity1 < B , C > ; < A , B , C > ( f , args ) : Curry2 < A , B , C > ; < A , B , C > ( f , args ) : Curry2 < A , B , C > ; < A , B , C , D > ( f , args ) : Arity0 < D > ; < A , B , C , D > ( f , args ) : Arity1 < C , D > ; < A , B , C , D > ( f , args ) : Curry2 < B , C , D > ; < A , B , C , D > ( f , args ) : Curry3 < A , B , C , D > ; < A , B , C , D > ( f , args ) : Arity1 < A , D > ; < A , B , C , D > ( f , args ) : Curry2 < A , B , D > ; < A , B , C , D > ( f , args ) : Curry2 < A , C , D > ; < A , B , C , D > ( f , args ) : Arity1 < B , D > ; < A , B , C , D > ( f , args ) : Curry2 < B , C , D > ; < A , B , C , D > ( f , args ) : Arity1 < C , D > ; < A , B , C , D > ( f , args ) : Curry3 < A , B , C , D > ; < A , B , C , D , E > ( f , args ) : Arity0 < E > ; < A , B , C , D , E > ( f , args ) : Arity1 < D , E > ; < A , B , C , D , E > ( f , args ) : Curry2 < C , D , E > ; < A , B , C , D , E > ( f , args ) : Curry3 < B , C , D , E > ; < A , B , C , D , E > ( f , args ) : Curry4 < A , B , C , D , E > ; < A , B , C , D , E > ( f , args ) : Arity1 < A , E > ; < A , B , C , D , E > ( f , args ) : Curry2 < A , B , E > ; < A , B , C , D , E > ( f , args ) : Curry2 < A , C , E > ; < A , B , C , D , E > ( f , args ) : Curry2 < A , D , E > ; < A , B , C , D , E > ( f , args ) : Arity1 < B , E > ; < A , B , C , D , E > ( f , args ) : Curry2 < B , C , E > ; < A , B , C , D , E > ( f , args ) : Curry2 < B , D , E > ; < A , B , C , D , E > ( f , args ) : Arity1 < C , E > ; < A , B , C , D , E > ( f , args ) : Curry2 < C , D , E > ; < A , B , C , D , E > ( f , args ) : Arity1 < D , E > ; < A , B , C , D , E > ( f , args ) : Curry4 < A , B , C , D , E > ; < A , B , C , D , E > ( f , args ) : Curry3 < A , B , C , E > ; < A , B , C , D , E > ( f , args ) : Curry3 < A , B , D , E > ; < A , B , C , D , E > ( f , args ) : Curry3 < A , C , D , E > ; < A , B , C , D , E > ( f , args ) : Curry3 < B , C , D , E > ; < A > ( f ) : Arity0Partial < A > ; < A , B > ( f ) : Arity1Partial < A , B > ; < A , B , C > ( f ) : Arity2Partial < A , B , C > ; < A , B , C , D > ( f ) : Arity3Partial < A , B , C , D > ; < A , B , C , D , E > ( f ) : Arity4Partial < A , B , C , D , E > ; } ; export type Arity0Partial < A > = { ( args ) : Arity0 < A > ; } ; export type Arity1Partial < A , B > = { ( args ) : Arity0 < B > ; ( args ) : Arity1 < A , B > ; ( args ) : Arity1 < A , B > ; } ; export type Arity2Partial < A , B , C > = { ( args ) : Arity0 < C > ; ( args ) : Arity1 < B , C > ; ( args ) : Curry2 < A , B , C > ; ( args ) : Arity1 < A , C > ; ( args ) : Arity1 < B , C > ; ( args ) : Curry2 < A , B , C > ; ( args ) : Curry2 < A , B , C > ; } ; export type Arity3Partial < A , B , C , D > = { ( args ) : Arity0 < D > ; ( args ) : Arity1 < C , D > ; ( args ) : Curry2 < B , C , D > ; ( args ) : Curry3 < A , B , C , D > ; ( args ) : Arity1 < A , D > ; ( args ) : Curry2 < A , B , D > ; ( args ) : Curry2 < A , C , D > ; ( args ) : Arity1 < B , D > ; ( args ) : Curry2 < B , C , D > ; ( args ) : Arity1 < C , D > ; } ; export type Arity4Partial < A , B , C , D , E > = { ( args ) : Arity0 < E > ; ( args ) : Arity1 < D , E > ; ( args ) : Curry2 < C , D , E > ; ( args ) : Curry3 < B , C , D , E > ; ( args ) : Curry4 < A , B , C , D , E > ; ( args ) : Arity1 < A , E > ; ( args ) : Curry2 < A , B , E > ; ( args ) : Curry2 < A , C , E > ; ( args ) : Curry2 < A , D , E > ; ( args ) : Arity1 < B , E > ; ( args ) : Curry2 < B , C , E > ; ( args ) : Curry2 < B , D , E > ; ( args ) : Arity1 < C , E > ; ( args ) : Curry2 < C , D , E > ; ( args ) : Arity1 < D , E > ; ( args ) : Curry4 < A , B , C , D , E > ; ( args ) : Curry3 < A , B , C , E > ; ( args ) : Curry3 < A , B , D , E > ; ( args ) : Curry3 < A , C , D , E > ; ( args ) : Curry3 < B , C , D , E > ; } ;