import { TermFn, PLam, PList, PDelayed } from "../../../../PTypes/index.js";
import { TermType, ToPType } from "../../../../type_system/index.js";
export declare function precursiveList<ReturnT extends TermType, ElemtsT extends TermType>(returnT: ReturnT, elemsT: ElemtsT): TermFn<[
    PLam<// caseNil
    PLam<PList<ToPType<ElemtsT>>, ToPType<ReturnT>>, // self
    PDelayed<ToPType<ReturnT>>>,
    PLam<// caseCons
    PLam<PList<ToPType<ElemtsT>>, ToPType<ReturnT>>, // self
    PLam<ToPType<ElemtsT>, PLam<PList<ToPType<ElemtsT>>, ToPType<ReturnT>>>>,
    PList<ToPType<ElemtsT>>
], ToPType<ReturnT>>;
