import { EncodeContext } from './EncodeContext.js'; export type PlainObject = string | number | { [key: string]: PlainObject; } | boolean | PlainObject[] | undefined | null; export interface Encodeable { encode(context: EncodeContext): PlainObject; } export interface TypedEncodeable extends Encodeable { encode(context: EncodeContext): T; } export declare function isEncodeable(object: any): object is Encodeable; export type EncodableObject = Encodeable | EncodableObject[] | Map | PlainObject; /** * Use this method to encode an object (might be an encodeable implementation) into a decodable structure */ export declare function encodeObject(obj: unknown, context: EncodeContext): PlainObject; export declare function sortObjectKeysForEncoding(a: string, b: string): number; //# sourceMappingURL=Encodeable.d.ts.map