import type { InferInput } from 'valibot'; import type { RegistryScriptInput } from '#nuxt-scripts/types'; import { InitObjectPropertiesSchema, SnapTrPixelOptions } from './schemas.js'; export { InitObjectPropertiesSchema, SnapTrPixelOptions }; type StandardEvents = 'PAGE_VIEW' | 'VIEW_CONTENT' | 'ADD_CART' | 'SIGN_UP' | 'SAVE' | 'START_CHECKOUT' | 'APP_OPEN' | 'ADD_BILLING' | 'SEARCH' | 'SUBSCRIBE' | 'AD_CLICK' | 'AD_VIEW' | 'COMPLETE_TUTORIAL' | 'LEVEL_COMPLETE' | 'INVITE' | 'LOGIN' | 'SHARE' | 'RESERVE' | 'ACHIEVEMENT_UNLOCKED' | 'ADD_TO_WISHLIST' | 'SPENT_CREDITS' | 'RATE' | 'START_TRIAL' | 'LIST_VIEW'; interface EventObjectProperties { price?: number; client_dedup_id?: string; currency?: string; transaction_id?: string; item_ids?: string[]; item_category?: string; description?: string; search_string?: string; number_items?: number; payment_info_available?: 0 | 1; sign_up_method?: string; success?: 0 | 1; brands?: string[]; delivery_method?: 'in_store' | 'curbside' | 'delivery'; customer_status?: 'new' | 'returning' | 'reactivated'; event_tag?: string; [key: string]: any; } type InitObjectProperties = InferInput; type SnapTrFns = ((event: 'track', eventName: StandardEvents | (string & {}), data?: EventObjectProperties) => void) & ((event: 'init', id: string, data?: Record) => void) & ((event: 'init', id: string, data?: InitObjectProperties) => void) & ((event: (string & {}), ...params: any[]) => void); export interface SnapPixelApi { snaptr: SnapTrFns & { push: SnapTrFns; loaded: boolean; version: string; queue: any[]; }; _snaptr: SnapPixelApi['snaptr']; handleRequest?: SnapTrFns; } declare global { interface Window extends SnapPixelApi { } } export type SnapTrPixelInput = RegistryScriptInput; export declare function useScriptSnapchatPixel(_options?: SnapTrPixelInput): import("#nuxt-scripts/types").UseScriptContext;