import type { RegistryScriptInput, UseScriptContext } from '#nuxt-scripts/types'; import { ClarityOptions } from './schemas.js'; export { ClarityOptions }; type ClarityFunctions = ((fn: 'start', options?: { content?: boolean; cookies?: string[]; dob?: number; expire?: number; projectId?: string; upload?: string; }) => void) & ((fn: 'identify', id: string, session?: string, page?: string, userHint?: string) => Promise<{ id: string; session: string; page: string; userHint: string; }>) & ((fn: 'consent', enabled?: boolean | Record) => void) & ((fn: 'set', key: string, value: string | string[]) => void) & ((fn: 'event', value: string) => void) & ((fn: 'upgrade', upgradeReason: string) => void) & ((fn: (string & {}), ...args: any[]) => void); export interface ClarityApi { clarity: ClarityFunctions & { q: any[]; v: string; }; } declare global { interface Window extends ClarityApi { } } export type ClarityInput = RegistryScriptInput; export interface ClarityConsent { /** Call `clarity('consent', value)` with either a boolean (default) or Clarity's advanced vector. */ set: (value: boolean | Record) => void; } export declare function useScriptClarity(_options?: ClarityInput): UseScriptContext;