export type BrowserDetected = 'chrome' | 'firefox' | 'ie' | 'edge' | 'safari' | 'opera' | 'yandex' | 'other'; /** * @typedef {'chrome'|'firefox'|'ie'|'edge'|'safari'|'opera'|'yandex'|'other'} BrowserDetected */ /** * This is determined by checking if the `window` and `document` objects are defined. * @returns {boolean} Indicates if the current execution environment is a web browser. */ export declare const isBrowser: () => boolean; export type DuckTypingResult = { /** * - True if Opera is detected. */ isOpera: boolean; /** * - True if Firefox is detected. */ isFirefox: boolean; /** * - True if Safari is detected. */ isSafari: boolean; /** * - True if Internet Explorer is detected. */ isIE: boolean; /** * - True if Edge is detected. */ isEdge: boolean; /** * - True if Chrome is detected. */ isChrome: boolean; /** * - True if the Blink engine is detected. */ isBlink: boolean; }; /** * Detects the browser name by parsing the `navigator.userAgent` string. * * @returns {BrowserDetected} The detected browser name. */ export declare function isBrowserAgent(): BrowserDetected; /** * Determines the browser's CSS rendering engine prefix by inspecting computed styles. * * @returns {'gecko'|'webkit'|'trident'|'other'} The detected CSS engine prefix. */ export declare function getBrowserCssPrefix(): 'gecko' | 'webkit' | 'trident' | 'other'; /** * Performs feature detection (duck typing) to identify the browser based on specific API availability. * * @returns {DuckTypingResult} An object containing boolean flags for various browser features. */ export declare function getDuckTyping(): DuckTypingResult; /** * Aggregates detection results from multiple methods to provide a count of "pings" per browser. * * @param {BrowserDetected[]} [disable=[]] An array of browser names to exclude from the count. * @returns {Object} An object where keys are browser names and values are their detection counts. * @throws {TypeError} If the `disable` argument is not an array or contains invalid browser names. */ export declare function getBrowserPings(disable?: BrowserDetected[]): any; /** * Determines the most likely browser by identifying the one with the highest number of detection "pings". * * @param {BrowserDetected[]} [disable=[]] An array of browser names to exclude from the count. * @returns {BrowserDetected} The name of the browser with the maximum count. * @throws {TypeError} If the `disable` argument is not an array or contains invalid browser names. */ export declare function browserIs(disable?: BrowserDetected[]): BrowserDetected; //# sourceMappingURL=browserDetector.d.mts.map