export interface PyodideConfig {
    /** Maximum simultaneous top-level calls, default 1; hosts without isolated async context serialize. */
    maxConcurrency?: number;
    autoLoadFromImports?: boolean;
    bootstrapCode?: string;
    /** Trusted host module URL. Its default initializer receives Pyodide and may return cleanup. */
    initModule?: string;
    denyPackages?: readonly string[];
    /**
     * Virtual paths prepended to sys.path once the mounts are in place, so
     * an agent can `import openpyxl` without writing sys.path.append
     * itself. Entries are MOUNT paths, not host paths: the glob runs
     * inside the interpreter against the mounted tree. A `.whl` may be
     * named directly (zipimport reads a pure-python wheel in place), and a
     * pattern may contain `*`, `?` or `[`.
     *
     * Prepended, not appended: a vendored package of the same name must
     * win over a bundled one, which is also CPython's own PYTHONPATH
     * precedence.
     */
    sysPath?: readonly string[];
    /**
     * Packages loaded from the distribution when each interpreter starts:
     * per invocation, or once per named console session. The subsequent
     * autoLoadFromImports scan skips packages already loaded at initialization.
     */
    packages?: readonly string[];
    /**
     * Where package wheels are fetched from. Distinct from `home`, which
     * only sets indexURL: the npm pyodide package ships the lock file and
     * NO wheels, so a deployment that wants `packages` working offline
     * points this at its own prebuilt distribution. A `://` value makes
     * package loading a network fetch; a local path keeps it on disk.
     */
    packageBaseUrl?: string;
    /** A custom pyodide-lock.json, for a prebuilt distribution. */
    lockFileUrl?: string;
    home?: string;
    /**
     * The memory one run may grow to, spelled as sandlock spells its own
     * (`128M`, `1G`) or a count of bytes; a run that passes it fails with a
     * MemoryError and the next run starts fresh. A run starts at about 50M.
     * On Node the run is stopped as soon as it passes; in a browser, which
     * cannot read a worker's memory, it fails when it ends.
     */
    maxMemory?: string | number | null;
}
export declare const KEYS: readonly (keyof PyodideConfig)[];
//# sourceMappingURL=config.d.ts.map