import type { InferInput } from 'valibot'; import type { RegistryScriptInput } from '#nuxt-scripts/types'; import { IntercomOptions } from './schemas.js'; export { IntercomOptions }; export type IntercomInput = RegistryScriptInput; export interface IntercomApi { Intercom: ((event: 'boot', data?: InferInput) => void) & ((event: 'shutdown') => void) & ((event: 'update', options?: InferInput) => void) & ((event: 'hide') => void) & ((event: 'show') => void) & ((event: 'showSpace', spaceName: 'home' | 'messages' | 'help' | 'news' | 'tasks' | 'tickets' | (string & {})) => void) & ((event: 'showMessages') => void) & ((event: 'showNewMessage', content?: string) => void) & ((event: 'onHide', fn: () => void) => void) & ((event: 'onShow', fn: () => void) => void) & ((event: 'onUnreadCountChange', fn: () => void) => void) & ((event: 'trackEvent', eventName: string, metadata?: Record) => void) & ((event: 'getVisitorId') => Promise) & ((event: 'startTour', tourId: string | number) => void) & ((event: 'showArticle', articleId: string | number) => void) & ((event: 'showNews', newsItemId: string | number) => void) & ((event: 'startSurvey', surveyId: string | number) => void) & ((event: 'startChecklist', checklistId: string | number) => void) & ((event: 'showTicket', ticketId: string | number) => void) & ((event: 'showConversation', conversationId: string | number) => void) & ((event: 'onUserEmailSupplied', fn: () => void) => void) & ((event: (string & {}), ...params: any[]) => void); } declare global { interface Window extends IntercomApi { intercomSettings?: any; } } export declare function useScriptIntercom(_options?: IntercomInput): import("#nuxt-scripts/types").UseScriptContext;