import type { Filter, RawModule } from "src/types"; /** * Retrieves the exported value from a module, attempting to resolve specific keys * ("default", "A", "Ay") if the module's exports object contains only one key. * @template T The expected type of the exported value. * @param m The raw module from which to retrieve the exports. * @returns The exported value, or `undefined` if the exports are not an object or if no suitable key is found. * @internal */ export declare function getExports(m: RawModule): T | undefined; /** * Retrieves the first export from a module that contains all the specified properties. * @template T The expected type of the export that matches the specified properties. * @template P The type of the property keys to look for. * @param m The module to search through. * @param props An array of property keys to look for in the exports. * @param byPrototype Whether to search only in the prototype of the exports. Defaults to `false`. * @returns The first export that contains all the specified properties, or `undefined` if none is found. */ export declare function getExportsForProps(m: unknown, props: P[], byPrototype?: boolean): T | undefined; export declare function getById(id: number | string, raw?: false): T | undefined; export declare function getById(id: number | string, raw: true): RawModule | undefined; export declare function getById(id: number | string, raw?: boolean): T | RawModule | undefined; export declare function getModule(filter: Filter, options?: { all?: false; raw?: false; }): T | undefined; export declare function getModule(filter: Filter, options?: { all: true; raw?: false; }): T[]; export declare function getModule(filter: Filter, options?: { all?: false; raw: true; }): RawModule | undefined; export declare function getModule(filter: Filter, options?: { all: true; raw: true; }): Array>; export declare function getModule(filter: Filter, options?: { all?: false; raw?: boolean; }): T | RawModule | undefined; export declare function getModule(filter: Filter, options?: { all: true; raw?: boolean; }): T[] | Array>; export declare function getModule(filter: Filter, options?: { all?: boolean; raw?: false; }): T | T[] | undefined; export declare function getModule(filter: Filter, options?: { all?: boolean; raw: true; }): RawModule | Array> | undefined; export declare function getModule(filter: Filter, options?: { all?: boolean; raw?: boolean; }): T | T[] | RawModule | Array> | undefined;