import { CommonCoreConfig, CoreConfig, StreamConfig } from "../types.js"; export declare function getControlledPromise(): { promise: Promise; resolve: (value: T) => void; reject: (reason?: unknown) => void; }; export declare function joinChunks(chunks: Uint8Array[], totalBytes?: number): Uint8Array; export declare function getPercent(numerator: number, denominator: number): number; export declare function getRandomItem(items: T[]): T; export declare function getWeightedRandomItem(items: T[], weightAccessor: (item: T) => number): T; export declare function utf8ToUintArray(utf8String: string): Uint8Array; export declare function hexToUtf8(hexString: string): string; export declare function arrayBackwards(arr: T[]): Generator; export declare function filterUndefinedProps(obj: T): Partial; export declare function deepCopy(item: T): T; export declare function shuffleArray(array: T[]): T[]; type RecursivePartial = { [P in keyof T]?: T[P] extends object ? RecursivePartial : T[P]; }; export declare function overrideConfig(target: T, updates: RecursivePartial | null, defaults?: RecursivePartial): T; type MergeConfigsToTypeOptions = { defaultConfig: StreamConfig | CommonCoreConfig | CoreConfig; baseConfig?: Partial; specificStreamConfig?: Partial; }; export declare function mergeAndFilterConfig(options: MergeConfigsToTypeOptions): T; export {};