interface WidgetConfig {
    primaryColor: string;
    textColor: string;
    backgroundColor: string;
    fontFamily: string;
    fontSize: string;
    buttonRadius: string;
    position: string;
    buttonText: string;
    buttonIcon: string;
    theme: 'light' | 'dark' | string;
    animation: string;
    trigger: string;
    triggerDelay: number;
    surveyFrequency: string;
    minimized: boolean;
    feedbackTypes?: string[];
    paths?: string[];
}
interface QuestionOption {
    value: string;
    label: string;
}
interface SurveyQuestion {
    id: number;
    question_text: string;
    question_type: string;
    options?: Array<QuestionOption | string>;
}
declare class FeedbackWidget {
    private API_BASE;
    private hasShownWidget;
    private isLoading;
    private currentSurvey;
    private siteKey;
    private config;
    private container?;
    private isCurrentlyVisible;
    constructor();
    detectSystemTheme(): 'light' | 'dark';
    getConfig(): WidgetConfig;
    setupTriggers(): void;
    getSiteKeyFromScript(): string;
    getFeedbackMetadata(): Promise<{
        page_url: string;
        user_agent: string;
        ip: any;
    }>;
    getClientIP(): Promise<any>;
    getPositionStyles(): "position: fixed; bottom: 20px; right: 20px;" | "position: fixed; bottom: 20px; left: 20px;" | "position: fixed; top: 20px; right: 20px;" | "position: fixed; top: 20px; left: 20px;";
    getAnimationStyles(): "" | "\n          @keyframes slideIn {\n            from { transform: translate(-50%, -40%); opacity: 0; }\n            to { transform: translate(-50%, -50%); opacity: 1; }\n          }\n          .fb-widget-modal {\n            animation: slideIn 0.4s cubic-bezier(0.4, 0, 0.2, 1);\n          }\n        " | "\n          @keyframes fadeIn {\n            from { opacity: 0; }\n            to { opacity: 1; }\n          }\n          .fb-widget-modal {\n            animation: fadeIn 0.4s cubic-bezier(0.4, 0, 0.2, 1);\n          }\n        ";
    injectStyles(): void;
    createWidget(): void;
    openModal(): Promise<void>;
    getLoadingHTML(): string;
    getFeedbackFormHTML(): string;
    getSurveyFormHTML(): Promise<string>;
    getQuestionInputHTML(question: SurveyQuestion): string;
    handleFeedbackSubmit(form: HTMLFormElement): Promise<void>;
    handleSurveySubmit(form: HTMLFormElement): Promise<void>;
    showSuccess(): void;
    showError(message: string): void;
    detectParentTheme(): 'light' | 'dark';
    watchThemeChanges(): void;
    updateTheme(): void;
    hasUserSetColor(colorProperty: string): boolean;
    isPathAllowed(): boolean;
    setupNavigationMonitoring(): void;
    handleURLChange(): void;
    removeWidget(): void;
}
//# sourceMappingURL=original_script_code.d.ts.map