/// <reference types="node" />
/// <reference types="node" />
import "../_dnt.polyfills.js";
import { InheritDef, type TypegraphOutput } from "../typegraph.js";
import type { ReduceEntry } from "../gen/typegraph_core";
import type { SerializeParams } from "../gen/typegraph_core";
export declare function stringifySymbol(symbol: symbol): string;
export type ConfigSpec = Record<string, unknown> | Array<string | Record<string, unknown>>;
export declare function serializeConfig(config: ConfigSpec | undefined): string | null;
export type AsIdField = boolean | "simple" | "composite";
export interface Base {
    config?: ConfigSpec;
    name?: string;
}
export interface BaseEx extends Base {
    asId?: AsIdField;
}
export declare function withBase(id: number, base: BaseEx): number;
export declare function serializeRecordValues<T>(obj: Record<string, T>): Array<[string, string]>;
export declare function buildReduceEntries(node: InheritDef | unknown, entries?: ReduceEntry[], currPath?: string[]): ReduceEntry[];
/** Create a reusable version of a `TypegraphOutput` */
export declare function freezeTgOutput(config: SerializeParams, tgOutput: TypegraphOutput): TypegraphOutput;
/**
 * Simple fetch wrapper with more verbose errors
 */
export declare function execRequest(url: URL, reqInit: RequestInit, errMsg: string): Promise<unknown>;
