import type { CaptureData, ElementMeta, ProjectVersion, ResolvedBugSmashConfig, WidgetPin } from './types.js'; type RuntimeApiConfig = { baseAppUrl?: string; }; export interface SubmitOptions { text: string; feedbackByName: string; feedbackByEmail?: string; clickX: number; clickY: number; /** Fraction of element width from its left edge (0–1) */ relX?: number; /** Fraction of element height from its top edge (0–1) */ relY?: number; url: string; screenSize: string; elementMeta: ElementMeta; /** null if capture timed out — review is still submitted without screenshot */ capture: CaptureData | null; /** Browser-rendered viewport PNG used as immediate screenshot fallback */ viewportScreenshot?: Blob | null; /** Optional reviewer-selected image attachment from the paperclip control */ attachment?: File | null; } export interface SubmitResult { /** Server-assigned feedback number for this project */ number: number; feedbackId: string; projectFileId: string; } export declare function fetchProjectVersions(config: Pick & RuntimeApiConfig): Promise; export declare function fetchWidgetPins(config: Pick & RuntimeApiConfig, pageUrl: string): Promise; /** * Submits a widget review to POST /v2/feedback/widget/add-review. * Returns the server-assigned feedback number for the pin label. */ export declare function submitReview(config: ResolvedBugSmashConfig & RuntimeApiConfig, opts: SubmitOptions): Promise; export declare function submitReviewScreenshot(config: ResolvedBugSmashConfig & RuntimeApiConfig, opts: Pick & { feedbackId: string; projectFileId: string; }): Promise; export {}; //# sourceMappingURL=api.d.ts.map