import { Prisma } from '../../../prisma-client';
import { z } from "zod";
import type { App_RoutingForms_Form } from '../../../prisma/client';
import type { ZResponseInputSchema } from '../../../trpc/server/routers/viewer/routing-forms/response.schema';
import type { SerializableForm } from "../types/types";
export type Form = SerializableForm<App_RoutingForms_Form & {
    user: {
        id: number;
        email: string;
    };
    team: {
        parentId: number | null;
    } | null;
}>;
export declare const handleResponse: ({ response, form, chosenRouteId, isPreview, }: {
    response: z.infer<typeof ZResponseInputSchema>["response"];
    form: Form;
    formFillerId: string;
    chosenRouteId: string | null;
    isPreview: boolean;
}) => Promise<{
    isPreview: boolean;
    formResponse: {
        id: number;
        response: Prisma.JsonValue;
        createdAt: Date;
        formFillerId: string;
        formId: string;
        routedToBookingUid: string | null;
        chosenRouteId: string | null;
    } | {
        id: number;
        formId: string;
        response: Record<string, {
            label: string;
            value: (string | number | string[]) & (string | number | string[] | undefined);
            identifier?: string | undefined;
        }>;
        chosenRouteId: string | null;
        createdAt: Date;
        updatedAt: Date;
    };
    teamMembersMatchingAttributeLogic: number[] | null;
    attributeRoutingConfig: {
        skipContactOwner?: boolean | undefined;
        salesforce?: {
            rrSkipToAccountLookupField?: boolean | undefined;
            rrSKipToAccountLookupFieldName?: string | undefined;
        } | undefined;
    } | null | undefined;
    timeTaken: Record<string, number | null>;
}>;
//# sourceMappingURL=handleResponse.d.ts.map