/**
 * 获取cookie
 * @author      Yuluo
 * @link        https://github.com/YuluoY
 * @date        2024-08-02
 * @method      getCookie
 * @param       {string}        name      cookie存储的key值
 * @returns     {string}                  cookie的值
 */
declare const getCookie: (name: string) => string;
/**
 * 设置cookie
 * @method      setCookie
 * @author      Yuluo
 * @link        https://github.com/YuluoY
 * @date        2024-08-02
 * @param       {string}                      name                cookie存储的key值
 * @param       {string}                      value               cookie的值
 * @param       {number}                      options.expires     过期时间，单位为天
 * @param       {string}                      options.path        cookie的路径
 * @param       {string}                      options.domain      cookie的域名
 * @param       {boolean}                     options.secure      是否使用https
 * @param       {'lax' | 'strict' | 'none'}   options.sameSite    是否使用同源策略
 * @returns     {void}
 * @example
 * ```js
 * setCookie("name", "value", { expires: 30, path: "/", domain: "example.com", secure: true, sameSite: "lax" });
 * ```
 */
declare const setCookie: (name: string, value: string, options: {
    expires?: number;
    path?: string;
    domain?: string;
    secure?: boolean;
    sameSite?: "lax" | "strict" | "none";
}) => void;
/**
 * 删除cookie
 * @author      Yuluo
 * @link        https://github.com/YuluoY
 * @date        2024-08-02
 * @method      removeCookie
 * @param       {string}        name        cookie存储的key值
 * @param       {string}        path        cookie的路径
 * @param       {string}        domain      cookie的域名
 * @returns     {void}
 * @example
 * ```js
 * removeCookie("name", "/", "example.com");
 * ```
 */
declare const removeCookie: (name: string, path?: string, domain?: string) => void;
/**
 * 获取所有cookie
 * @author      Yuluo
 * @link        https://github.com/YuluoY
 * @date        2024-08-02
 * @method      getAllCookies
 * @returns     {Record<string, string>}  所有cookie的键值对
 */
declare const getAllCookies: () => Record<string, string>;
/**
 * 验证cookie是否有效
 * @author      Yuluo
 * @link        https://github.com/YuluoY
 * @date        2024-08-02
 * @method      isCookieValid
 * @param       {string}          name    cookie存储的key值
 * @returns     {boolean}                 cookie是否有效
 */
declare const isCookieValid: (name: string) => boolean;

declare const cookie_getAllCookies: typeof getAllCookies;
declare const cookie_getCookie: typeof getCookie;
declare const cookie_isCookieValid: typeof isCookieValid;
declare const cookie_removeCookie: typeof removeCookie;
declare const cookie_setCookie: typeof setCookie;
declare namespace cookie {
  export { cookie_getAllCookies as getAllCookies, cookie_getCookie as getCookie, cookie_isCookieValid as isCookieValid, cookie_removeCookie as removeCookie, cookie_setCookie as setCookie };
}

/**
 * 获取localStorage的值
 * @author      Yuluo
 * @link        https://github.com/YuluoY
 * @date        2024-08-02
 * @method      getLocalStorage
 * @param       {string}            key       localStorage的key
 * @returns     {any}                         localStorage的值
 */
declare const getLocalStorage: <T = any>(key: string) => T | null;
/**
 * 设置localStorage的值
 * @author        Yuluo
 * @link          https://github.com/YuluoY
 * @date          2024-08-02
 * @method        setLocalStorage
 * @param         {string}          key                 localStorage的key
 * @param         {any}             value               localStorage的值
 * @param         {object}          options             配置项
 * @param         {number}          options.expires     过期时间，单位：天
 * @returns       {void}
 */
declare const setLocalStorage: (key: string, value: any, { expires }: {
    expires?: number | undefined;
}) => void;
/**
 * 删除localStorage的值
 * @author        Yuluo
 * @link          https://github.com/YuluoY
 * @date          2024-08-02
 * @method        removeLocalStorage
 * @param         {string}            key         localStorage的key
 * @returns       {void}
 */
declare const removeLocalStorage: (key: string) => void;

declare const localStorage_getLocalStorage: typeof getLocalStorage;
declare const localStorage_removeLocalStorage: typeof removeLocalStorage;
declare const localStorage_setLocalStorage: typeof setLocalStorage;
declare namespace localStorage {
  export { localStorage_getLocalStorage as getLocalStorage, localStorage_removeLocalStorage as removeLocalStorage, localStorage_setLocalStorage as setLocalStorage };
}

/**
 * 获取sessionStorage
 * @author        Yuluo
 * @link          https://github.com/YuluoY
 * @date          2024-08-02
 * @method        getSessionStorage
 * @param         {string}            key       键
 * @returns       {T | null}                    值
 */
declare const getSessionStorage: <T>(key: string) => T | null;
/**
 * 设置sessionStorage
 * @author        Yuluo
 * @link          https://github.com/YuluoY
 * @date          2024-08-02
 * @method        setSessionStorage
 * @param         {string}              key         键
 * @param         {any}                 value       值
 * @returns       {void}
 */
declare const setSessionStorage: (key: string, value: any) => void;
/**
 * 删除sessionStorage
 * @author        Yuluo
 * @link          https://github.com/YuluoY
 * @date          2024-08-02
 * @method        removeSessionStorage
 * @param         {string}                key       键
 * @returns       {void}
 */
declare const removeSessionStorage: (key: string) => void;

declare const sessionStorage_getSessionStorage: typeof getSessionStorage;
declare const sessionStorage_removeSessionStorage: typeof removeSessionStorage;
declare const sessionStorage_setSessionStorage: typeof setSessionStorage;
declare namespace sessionStorage {
  export { sessionStorage_getSessionStorage as getSessionStorage, sessionStorage_removeSessionStorage as removeSessionStorage, sessionStorage_setSessionStorage as setSessionStorage };
}

declare class IndexDB {
}

type indexDB_IndexDB = IndexDB;
declare const indexDB_IndexDB: typeof IndexDB;
declare namespace indexDB {
  export { indexDB_IndexDB as IndexDB };
}

declare const _default: {
    cookie: typeof cookie;
    localStorage: typeof localStorage;
    sessionStorage: typeof sessionStorage;
    indexDB: typeof indexDB;
};

type storage_IndexDB = IndexDB;
declare const storage_IndexDB: typeof IndexDB;
declare const storage_getAllCookies: typeof getAllCookies;
declare const storage_getCookie: typeof getCookie;
declare const storage_getLocalStorage: typeof getLocalStorage;
declare const storage_getSessionStorage: typeof getSessionStorage;
declare const storage_isCookieValid: typeof isCookieValid;
declare const storage_removeCookie: typeof removeCookie;
declare const storage_removeLocalStorage: typeof removeLocalStorage;
declare const storage_removeSessionStorage: typeof removeSessionStorage;
declare const storage_setCookie: typeof setCookie;
declare const storage_setLocalStorage: typeof setLocalStorage;
declare const storage_setSessionStorage: typeof setSessionStorage;
declare namespace storage {
  export { storage_IndexDB as IndexDB, _default as default, storage_getAllCookies as getAllCookies, storage_getCookie as getCookie, storage_getLocalStorage as getLocalStorage, storage_getSessionStorage as getSessionStorage, storage_isCookieValid as isCookieValid, storage_removeCookie as removeCookie, storage_removeLocalStorage as removeLocalStorage, storage_removeSessionStorage as removeSessionStorage, storage_setCookie as setCookie, storage_setLocalStorage as setLocalStorage, storage_setSessionStorage as setSessionStorage };
}

export { IndexDB as I, _default as _, setCookie as a, getAllCookies as b, getLocalStorage as c, setLocalStorage as d, removeLocalStorage as e, getSessionStorage as f, getCookie as g, setSessionStorage as h, isCookieValid as i, removeSessionStorage as j, removeCookie as r, storage as s };
