import type { Context } from 'hono';
import type { Store } from '../../store.js';
import type { FEEDBACK_TYPES } from '../../../constants/common.js';
type FeedbackData = {
    path: string;
    component: FEEDBACK_TYPES;
    location?: string;
    lang?: string;
    agent?: string;
    targetFeature?: string;
    metadata?: Record<string, any>;
    score?: number | string;
    reasons?: string[];
    comment?: string;
    max?: number;
    email?: string;
};
export declare function normalizeFeedbackMetadata(metadata?: FeedbackData['metadata']): Record<string, any> | undefined;
export declare function normalizeFeedbackData({ component, path, location, lang, agent, targetFeature, score, max, reasons, comment, metadata, email }: FeedbackData): {
    feedbackComponent: string;
    path: string | undefined;
    location: string | undefined;
    lang: string | undefined;
    score: number | undefined;
    maxScore: number | undefined;
    reasons: string[] | undefined;
    comment: string | undefined;
    email: string | undefined;
    agent: string | undefined;
    targetFeature: string | undefined;
    metadata: Record<string, any> | undefined;
};
export declare function feedbackHandler(store: Store): (ctx: Context) => Promise<(Response & import("hono").TypedResponse<any, 200, "json">) | (Response & import("hono").TypedResponse<{
    errors: string[];
}, 400, "json">) | (Response & import("hono").TypedResponse<{
    errors: string[];
}, 404, "json">) | (Response & import("hono").TypedResponse<{
    errors: string[];
}, 403, "json">) | (Response & import("hono").TypedResponse<never, 500, "json">)>;
export {};
//# sourceMappingURL=feedback.d.ts.map