import { builtins as bi } from "./builtins.js"; /** **Dev Note** foxp (currently) replaces the first arguments with `never` if it doesn't match, which is a bit unfriendly to end-users (I plan to update this). So, you can use Cion.Lisp as a sandbox, I recommend, to search a complete regex, instead of foxp directly. After you decided to use some results, declare them as general TypeScript types via `type`, then expand in template-literal-type to be passed in foxp's pre-conditions. Every Cion.Lisp string should be wrapped in single quotes, not double quotes. Because when you define `type A = 'this'` then expand into Cion.Lisp: ```typescript Cion.Lisp<`(re-find '${A}' 'this')`> // Instead of `(re-find ${A} 'this')` // In this case, `${A}` is expanded to directly, so the result is: // `(re-find this 'this')` // // This expression spits an error. // Error messages would say 'sexpr is not atom list.'. ``` Moreover, foxp provides `bi.refind` built-in function. */ export declare const matchStrict: ? Symbol : string, Arg0>, Arg1 extends bi.FoxWith ? Symbol : string, Arg1>, Arg2 extends bi.FoxWith ? Symbol : never, Arg2>, Arg3 extends bi.FoxWith ? Symbol : never, Arg3>, IsQuote extends [bi.GetFlag, bi.GetFlag, bi.GetFlag, bi.GetFlag] extends [false, false, false, false] ? false : true, UnrollArgsStrResult extends bi.UnrollArgsStr<2, "sexpr", Arg0, Arg1, Arg2, Arg3>, UnrollContStrResult extends bi.UnrollArgsStr<2, "cont", Arg0, Arg1, Arg2, Arg3>, PreCountCheck extends false, _SexprR extends `((fn [a b] (let [x (re-find a b)] (if (not (= '' x)) x nil))) ${UnrollArgsStrResult})`, SexprR extends PreCountCheck extends false ? { error: "PreCountFailure"; } : IsQuote extends true ? _SexprR : import("@taiyakihitotsu/cion").Unparse, []>>, [], [], "", false>, [[]], 0, false>>, PreResult extends `((fn [a b] (let [x (re-find a b)] (if (not (= '' x)) x nil))) ${UnrollArgsStrResult})`, ContResult extends `(if (and (every? some? [${UnrollArgsStrResult}]) ((fn [a b] (let [x (re-find a b)] (if (not (= '' x)) x nil))) ${UnrollContStrResult})) ((fn [a b] (let [x (re-find a b)] (if (not (= '' x)) x nil))) ${UnrollArgsStrResult}) nil)`, Ret0 = true extends IsQuote ? Arg0 : import("@taiyakihitotsu/cion").Unparse, []>>, [], [], "", false>, [[]], 0, false>> extends import("./type-util.js").LispFalsy ? never : Arg0, Ret1 = Arg1, Ret2 = Arg2, Ret3 = Arg3>(w?: (Arg0 extends Ret0 ? Arg0 : never) | undefined, x?: Arg1 | undefined, y?: Arg2 | undefined, z?: Arg3 | undefined) => { sexpr: SexprR; cont: ContResult; value: string | undefined; fnflag: IsQuote; hofflag: false; }; export declare const rgbaRegex = "^rgba\\((\\d{1,3}(\\.\\d{1,3})?, ){3}(1|(0\\.\\d{1,3})|0)\\)$"; export type RgbaRegex = typeof rgbaRegex; export declare const hslaRegex = "^hsla\\(((((100)|(\\d{1,2}(\\.\\d{1,3})?))%), ){3}(1|(0\\.\\d{1,3})|0)\\)$"; export type HslaRegex = typeof hslaRegex; export declare const colorCode = "^#([a-f0-9]{6}|[A-F0-9]{6})$"; export type ColorCodeRegex = typeof colorCode; export * as regex from './regex.js';