import type { IndexedObject, Writable, types } from "../types"; export declare const ReadonlyMap: { new (entries?: ReadonlyArray): ReadonlyMap; }; export declare const ReadonlySet: { new (values?: readonly T[]): ReadonlySet; }; /** * Defines function with properties. * @param fn - Function. * @param props - Properties. * @returns Function with properties. */ export declare const defineFn: (fn: F, props: P) => F & Readonly

; /** * Executes callback. * @param callback - Callback. * @returns The result of callback execution. */ export declare function evaluate(callback: types.fn.Sync): T; /** * Executes promise or async function. * @param mixed - Promise or async function. * @returns The result of callback execution. */ export declare function evaluate(mixed: types.fn.AsyncPromise): Promise; /** * Marks value as readonly. * @param value - Value. * @returns Value. */ export declare function freeze(value: T): Readonly; /** * Marks value as indexed. * @param value - Value. * @returns Value. */ export declare function indexed(value: object): IndexedObject; /** * Defines function with overloads. * @param callback - Callback. * @returns The result of callback execution. */ export declare function overload(callback: () => T): T; /** * Defines value type. * @param value - Value. * @returns Value. */ export declare function typedef(value: T): T; /** * Marks value as writable. * @param value - Value. * @returns Value. */ export declare function unfreeze(value: T): Writable; //# sourceMappingURL=core.d.ts.map