import { PLam, PString, PBool, PByteString } from "../../../PTypes/index.js";
import { Term } from "../../../Term/index.js";
import { PappArg } from "../../pappArg.js";
import { TermBS } from "../../std/UtilityTerms/TermBS.js";
import { TermBool } from "../../std/UtilityTerms/TermBool.js";
import { TermStr } from "../../std/UtilityTerms/TermStr.js";
export type StrBinOPToStr = Term<PLam<PString, PLam<PString, PString>>> & {
    $: (input: PappArg<PString>) => Term<PLam<PString, PString>> & {
        $: (input: PappArg<PString>) => TermStr;
    };
};
export declare const pappendStr: StrBinOPToStr;
export type StrBinOPToBool = Term<PLam<PString, PLam<PString, PBool>>> & {
    $: (input: PappArg<PString>) => Term<PLam<PString, PBool>> & {
        $: (input: PappArg<PString>) => TermBool;
    };
};
export declare const peqStr: StrBinOPToBool;
export declare const pencodeUtf8: Term<PLam<PString, PByteString>> & {
    $: (str: PappArg<PString>) => TermBS;
};
export declare const pdecodeUtf8: Term<PLam<PByteString, PString>> & {
    $: (str: PappArg<PByteString>) => TermStr;
};
