import { type IFs } from "memfs"; import { Constructor } from "../reflection/IMember.js"; export declare let fileSystem: IFs; /** * Sets the filesystem to be used for importing templates. * Default is the memfs filesystem. * * @param fs The filesystem to use. */ export declare const useFileSystem: (fs: IFs) => void; /** Expresses the Java concept of object equality (equality based on the content of two objects). */ export interface IEquatable { equals(obj: unknown): boolean; hashCode(): number; } export declare const isEquatable: (candidate: unknown) => candidate is IEquatable; /** * A method to determine if a class is a super class of another class. * * @param superclass The candidate superclass. * @param subclass The candidate subclass. * * @returns true if `superclass` is a superclass of `subclass`. */ export declare const isSuperclassOf: (superclass: Function | null, subclass: Function | null) => boolean; export declare const defaultLocale: () => Intl.Locale; /** * Get the constructor of an unknown value. * * @param obj The value to get the constructor from. * * @returns The constructor of the value or undefined if the value is not an object. */ export declare const constructorFromUnknown: (obj: unknown) => Constructor | undefined; /** * @param obj The object to check. * * @returns true if the object is an iterator. */ export declare const isIterator: (obj: unknown) => obj is IterableIterator; /** * Converts a Typescript string to a UTF-16 char code array. The string uses UTF-16 internally * so there's no need to handle surrogate pairs. * * @param data The Typescript string. * * @returns The UTF-16 char code array. */ export declare const convertStringToUTF16: (data: string) => Uint16Array; /** * Converts a UTF-16 char code array to a Typescript string. The string uses UTF-16 internally * so there's no need to handle surrogate pairs. * * @param data The UTF-16 char code array. * * @returns The Typescript string. */ export declare const convertUTF16ToString: (data: Uint16Array) => string; export declare const isAbsolutePath: (path: string) => boolean; export declare const basename: (path: string, ext?: string) => string; export declare const dirname: (path: string) => string; export declare const extname: (path: string) => string; export declare const resolve: (...paths: string[]) => string;