import type { Expression } from "../../parse.js"; import { Budget } from "../budget.js"; import { type SandboxClosure, type SandboxValue } from "../values.js"; type StringMethodName = "at" | "charAt" | "charCodeAt" | "codePointAt" | "concat" | "endsWith" | "includes" | "indexOf" | "lastIndexOf" | "match" | "matchAll" | "normalize" | "padEnd" | "padStart" | "repeat" | "replace" | "replaceAll" | "slice" | "search" | "split" | "startsWith" | "substr" | "substring" | "toLowerCase" | "toUpperCase" | "trim" | "trimEnd" | "trimStart"; export declare function getStringMember(value: string, property: string | number, budget: Budget): SandboxValue | undefined; export declare function isStringMethodName(property: string | number): property is StringMethodName; export declare function validateStringMethodArguments(_methodName: StringMethodName, _args: readonly Expression[]): void; export declare function callStringMethod(value: string, methodName: StringMethodName, args: readonly SandboxValue[], budget: Budget, callClosure?: (closure: SandboxClosure, args: readonly SandboxValue[]) => Promise): SandboxValue | Promise; export {};