export declare class utils {
    /** Returns the instantiated object or array.
     * Returns undefined for both an empty or missing source file.
     * Uses JSON.parse and does not perform any explicit casting.
     * Throws encountered exceptions.  Resolves tilde (~) path prefixes.
     * @param pathName Fully qualified path and filename of the json file.
     * @param allowComments (default: false) Flag to use a json comment parser to support comments in the json file.
     */
    static deserializeJsonFile<T>(pathName: string, allowComments?: boolean): T | undefined;
    /** Uses JSON.stringify() to write the given object to a file.  Resolves tilde (~) path prefixes.
     * @param subject The object to serialize.
     * @param pathName Fully-qualified path and filename (eg "/users/JoeCool/.config/app-config.json").
     * @param allowComments (default: false) Flag to use a json comment parser to support comments in the json file.
     */
    static serializeJsonFile(subject: any, pathName: string, allowComments?: boolean): void;
    /** Replaces the leading tilde (~) in the given file path
     * with the absolute path to the os.homedir (eg: "/Users/JoeCool").
     * NOTE:  Relative paths will slide through this function untouched:
     * this function does not necessarily return an absolute path! */
    static resolveHomeDir(pathName: string): string;
    /**  */
    static smashMergeConfg<TSettings>(defaults: TSettings, configsInPriorityOrder?: Partial<TSettings>[]): TSettings;
}
