import { HttpParams } from '@angular/common/http'; import { ElementRef, TemplateRef } from '@angular/core'; import { Dayjs } from 'dayjs'; import { Observable } from 'rxjs'; /** * Kiểm tra xem đối tượng có phải là browser global object không */ export declare const isBrowserGlobalObject: (obj: any) => obj is Window | Document | Window | Document | typeof globalThis; /** * Kiểm tra xem đối tượng có phải là DOM object không */ export declare const isDOMObject: (obj: any) => obj is HTMLElement | Node | Element; /** * Kiểm tra xem đối tượng có phải là browser API object không */ export declare const isBrowserAPIObject: (obj: any) => boolean; /** * Kiểm tra constructor name có nằm trong danh sách nguy hiểm không */ export declare const hasDangerousConstructorName: (obj: any) => boolean; /** * Kiểm tra xem đối tượng có phải là DOM object hoặc browser object nguy hiểm không * Những đối tượng này có thể gây ra circular reference và maximum call stack */ export declare const isDangerousObject: (obj: any) => boolean; /** * Kiểm tra đối tượng có phải là Angular/Framework object không */ export declare const isFrameworkObject: (obj: any) => obj is TemplateRef | ElementRef; /** * Kiểm tra đối tượng có phải là File/Blob object không */ export declare const isFile: (obj: any) => obj is File | Blob; /** * Kiểm tra đối tượng có phải là Built-in object không */ export declare const isBuiltInObject: (obj: any) => obj is Date | RegExp | HttpParams; /** * Kiểm tra đối tượng có phải là RegExp object không */ export declare const isRegExp: (obj: any) => obj is RegExp; /** * Kiểm tra đối tượng có phải là Async object không */ export declare const isAsyncObject: (obj: any) => obj is Promise | Observable; /** * Kiểm tra đối tượng có phải là Special object cần bỏ qua không * Bao gồm: Framework objects, File objects, Built-in objects, Async objects */ export declare const isSpecialObject: (obj: any) => boolean; /** * Kiểm tra đối tượng có phải là dayjs object không */ export declare const isDayjsObject: (obj: any) => obj is Dayjs; /** * Kiểm tra đối tượng có phải là object cần bỏ qua trong quá trình convert không */ export declare const isSkippableObject: (obj: any) => boolean; /** * Kiểm tra đối tượng có phải là Map object không */ export declare const isMap: (obj: any) => obj is Map; /** * Kiểm tra đối tượng có phải là Set object không */ export declare const isSet: (obj: any) => obj is Set; /** * Kiểm tra đối tượng có phải là Array object không */ export declare const isArray: (obj: any) => obj is Array; /** * Kiểm tra đối tượng có phải là object cần trả về nguyên trạng không * Bao gồm: dangerous objects, special objects, dayjs objects */ export declare const isReturnAsIsObject: (obj: any) => boolean; /** * Kiểm tra xem đối tượng có an toàn để clone/convert không */ export declare const isSafeToProcess: (obj: any) => boolean; /** * Kiểm tra xem giá trị có phải là kiểu dữ liệu nguyên thủy (Primitive) không. * Bao gồm: string, number, boolean, symbol, bigint, null, undefined. * @param value Giá trị cần kiểm tra * @returns true nếu là kiểu nguyên thủy */ export declare const isPrimitiveType: (value: any) => boolean;