/** * @pulse-libs/utils — Funções puras, zero dependências * Usáveis em React, Vue, Node, browser */ declare const date: { now: () => string; format: (d: Date | string | number, fmt?: string) => string; isToday: (d: Date | string) => boolean; daysBetween: (a: Date, b: Date) => number; }; declare const str: { capitalize: (s: string) => string; truncate: (s: string, max: number, suffix?: string) => string; camelCase: (s: string) => string; kebabCase: (s: string) => string; slugify: (s: string) => string; removeAccents: (s: string) => string; maskEmail: (email: string) => string; }; declare const num: { clamp: (value: number, min: number, max: number) => number; rand: (min: number, max: number) => number; format: (n: number) => string; percent: (part: number, total: number, decimals?: number) => number; }; type ClassValue = string | boolean | null | undefined | Array; declare function cn(...inputs: ClassValue[]): string; declare function debounce) => void>(fn: T, ms: number): (...args: Parameters) => void; declare function throttle) => void>(fn: T, ms: number): (...args: Parameters) => void; declare const storage: { get: (key: string, fallback: T) => T; set: (key: string, value: T) => void; remove: (key: string) => void; clear: (prefix?: string) => void; }; declare const arr: { unique: (items: T[], key?: keyof T) => T[]; chunk: (items: T[], size: number) => T[][]; shuffle: (items: T[]) => T[]; }; declare const obj: { pick: (o: T, keys: K[]) => Pick; omit: (o: T, keys: K[]) => Omit; isEmpty: (o: object | null | undefined) => boolean; }; export { arr, cn, date, debounce, num, obj, storage, str, throttle };