/**
 * @license
 * Copyright 2022-2026 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import { Duration } from "#time/Duration.js";
import { Bytes } from "../util/Bytes.js";
/** Supported base types to stringify the data for the storage that can be used as keys and also values. */
type SupportedStorageBaseTypes = string | number | boolean | bigint | Bytes;
/** Supported combined types to stringify the data for the storage that can be used as values. */
type SupportedComplexStorageTypes = (SupportedStorageBaseTypes | SupportedComplexStorageTypes)[] | readonly (SupportedStorageBaseTypes | SupportedComplexStorageTypes)[] | {
    [key: string]: SupportedStorageBaseTypes | SupportedComplexStorageTypes | null | undefined;
} | Array<[SupportedStorageBaseTypes, SupportedStorageBaseTypes | SupportedComplexStorageTypes | null | undefined]> | Map<SupportedStorageBaseTypes, SupportedStorageBaseTypes | SupportedComplexStorageTypes> | Duration | null | undefined;
export type SupportedStorageTypes = SupportedStorageBaseTypes | SupportedComplexStorageTypes;
export declare function toJson(object: SupportedStorageTypes, spaces?: number): string;
export declare function fromJson(json: string): SupportedStorageTypes;
export {};
//# sourceMappingURL=StringifyTools.d.ts.map