export type SupportTicketType = 'issue' | 'feedback';
export type SupportTicketMetadata = {
    posthogSessionId?: string;
    posthogDistinctId?: string;
    appVersion?: string;
    appEnvironment?: string;
    pageUrl?: string;
    userAgent?: string;
    submittedAt?: string;
};
export type SupportTicketInput = {
    type: SupportTicketType;
    message: string;
    metadata?: SupportTicketMetadata;
    contactEmail?: string;
};
export type SupportTicketSubmissionResult = {
    ticketId: string;
    providerMessageId?: string;
};
export type SupportTicketDeliveryService = {
    submitTicket: (input: SupportTicketInput) => Promise<SupportTicketSubmissionResult>;
};
type SupportTicketServiceOptions = {
    fetchFn?: typeof fetch;
};
/**
 * Sends support tickets via the configured webhook endpoint (e.g. a Supabase
 * Edge Function), which handles Resend delivery in a secure environment.
 */
export declare class SupportTicketService implements SupportTicketDeliveryService {
    private readonly fetchFn;
    constructor(options?: SupportTicketServiceOptions);
    submitTicket(input: SupportTicketInput): Promise<SupportTicketSubmissionResult>;
}
export {};
//# sourceMappingURL=SupportTicketService.d.ts.map