import { VoiceNagWrapperProps } from './VoiceNagWrapper'; import { TermsPrivacyModalProps } from './TermsPrivacyModal'; import { VowelPosition } from './types'; /** * Props for VowelAgent */ export interface VowelAgentProps { /** Position of the floating button */ position?: VowelPosition; /** Custom className */ className?: string; /** Show transcript panel */ showTranscripts?: boolean; /** Custom button color */ buttonColor?: string; /** Enable the voice nag wrapper */ enableNag?: boolean; /** Custom title for the nag message */ nagTitle?: VoiceNagWrapperProps["nagTitle"]; /** Custom description for the nag message */ nagDescription?: VoiceNagWrapperProps["nagDescription"]; /** Custom acknowledge button text for nag */ nagButtonText?: VoiceNagWrapperProps["nagButtonText"]; /** LocalStorage key prefix for nag state */ nagStorageKeyPrefix?: VoiceNagWrapperProps["storageKeyPrefix"]; /** Callback when nag is dismissed */ onNagDismiss?: VoiceNagWrapperProps["onDismiss"]; /** Enable the terms and privacy modal */ enableTermsModal?: boolean; /** Modal title for terms/privacy */ termsModalTitle?: TermsPrivacyModalProps["title"]; /** Modal description for terms/privacy */ termsModalDescription?: TermsPrivacyModalProps["description"]; /** Terms of service content (HTML or text) */ termsContent?: TermsPrivacyModalProps["termsContent"]; /** URL to external terms of service */ termsUrl?: TermsPrivacyModalProps["termsUrl"]; /** Privacy policy content (HTML or text) */ privacyContent?: TermsPrivacyModalProps["privacyContent"]; /** URL to external privacy policy */ privacyUrl?: TermsPrivacyModalProps["privacyUrl"]; /** Text for the accept button in modal */ termsAcceptButtonText?: TermsPrivacyModalProps["acceptButtonText"]; /** Text for the decline button in modal */ termsDeclineButtonText?: TermsPrivacyModalProps["declineButtonText"]; /** Whether to show a decline button in modal */ termsAllowDecline?: TermsPrivacyModalProps["allowDecline"]; /** LocalStorage key prefix for terms acceptance state */ termsStorageKeyPrefix?: TermsPrivacyModalProps["storageKeyPrefix"]; /** Callback when terms are accepted */ onTermsAccept?: TermsPrivacyModalProps["onAccept"]; /** Callback when terms are declined */ onTermsDecline?: TermsPrivacyModalProps["onDecline"]; /** * Whether to render the floating cursor * Only applies when VowelProvider has floatingCursor enabled * * @default true * * Set to false if you want to render the cursor separately: * @example * ```tsx * * * * * ``` */ enableFloatingCursor?: boolean; } /** * Floating voice agent button with optional transcript panel * Positioned in a corner of the screen * * @example * ```tsx * import { VowelAgent } from '@/lib/vowel'; * * function App() { * return ( * <> * * * * ); * } * ``` */ export declare function VowelAgent({ position, className, showTranscripts, enableNag, nagTitle, nagDescription, nagButtonText, nagStorageKeyPrefix, onNagDismiss, enableTermsModal, termsModalTitle, termsModalDescription, termsContent, termsUrl, privacyContent, privacyUrl, termsAcceptButtonText, termsDeclineButtonText, termsAllowDecline, termsStorageKeyPrefix, onTermsAccept, onTermsDecline, enableFloatingCursor, }: VowelAgentProps): import("react/jsx-runtime").JSX.Element | null; //# sourceMappingURL=VowelAgent.d.ts.map