import type { Budget } from "../budget.js";
import { type SandboxClosure, type SandboxSet, type SandboxValue } from "../values.js";
export type SetMethodName = "add" | "has" | "delete" | "clear" | "forEach" | "keys" | "values" | "entries";
export type SetMethodOptions = {
    budget: Budget;
    callClosure: (closure: SandboxClosure, args: readonly SandboxValue[], stack: readonly string[]) => Promise<SandboxValue>;
};
export declare function isSetMethodName(value: string | number): value is SetMethodName;
export declare function getSetMember(target: SandboxSet, property: string | number, options: SetMethodOptions): SandboxValue | undefined;
export declare function callSetMethod(target: SandboxSet, methodName: SetMethodName, args: readonly SandboxValue[], options: SetMethodOptions, stack?: readonly string[]): Promise<SandboxValue>;
