import type { ReactSetState } from "../use-safe-state/index.js";
export type FaviconType = string | null | undefined;
export interface UseFaviconOptions {
/**
* Base URL for the favicon
*
* @defaultValue ''
*/
baseUrl?: string;
/**
* The rel attribute of the favicon link element
*
* @defaultValue 'icon'
*/
rel?: string;
/**
* Sync the favicon in document `` to hooks state on mount
*
* @defaultValue true
*/
syncOnMount?: boolean;
/**
* Restore the previous favicon on unmount
*
* @defaultValue false
*/
restoreOnUnmount?: boolean;
}
export interface UseFaviconReturns {
/**
* The current favicon URL
*/
href: string | null;
/**
* Set the favicon URL
*/
setFavicon: ReactSetState;
/**
* Sync the favicon in document `` to hooks state
*/
syncFavicon(isInitial?: boolean): void;
/**
* Set the favicon to an emoji
*/
setEmojiFavicon: (emoji: string) => void;
/**
* Set the favicon to the previous favicon
*/
setPreviousFavicon(): void;
}
/**
* A React Hook that allows you to change the favicon of the page.
*/
export declare function useFavicon(newIcon?: FaviconType, options?: UseFaviconOptions): UseFaviconReturns;