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