import { FirstReviewPageCurrentSelectionByColumn, ID, RecommendedNonExistingGlobalMerchant, ReviewStatus, User } from '@zeniai/client-epic-state';
import { AutoCompleteGroupedSingleSelectCustomGroupFieldValue } from '../../formElements/autoCompleteGroupedSingleSelectCustomGroupField/AutoCompleteGroupedSingleSelectCustomGroupField';
export declare const vendorFirstReviewSectionId = "vendorFirstReview";
export declare const selectedVendor = "selectedVendor";
export declare const recommendedFirst = "recommendedFirst";
export declare const recommendedSecond = "recommendedSecond";
export declare const currentSelection = "currentSelection";
export declare const retainVendorId = "retainVendorId";
export declare const status = "status";
export declare const lastUpdatedVendorNameByUser = "lastUpdatedVendorNameByUser";
export declare const vendorName = "vendorName";
export declare const websiteUrl = "websiteUrl";
export declare const vendorFirstRecommendation = "vendorFirstRecommendation";
export declare const vendorSecondRecommendation = "vendorSecondRecommendation";
export declare const vendorId = "vendorId";
export interface FormData {
    [vendorFirstReviewSectionId]: VendorFirstReviewRowFormData[];
}
export declare const formUniqueName: (formId: string) => `${string}_form`;
export type FormDataSubKeys = "retain" | "recommendedFirst" | "recommendedSecond";
export declare const subFieldUniqueName: (sectionId: string, key: FormDataKeys, subKey?: FormDataSubKeys) => string;
export type FormDataKeyUniqueNames = ReturnType<typeof subFieldUniqueName>;
export interface VendorFirstReviewRowFormData {
    [currentSelection]: FirstReviewPageCurrentSelectionByColumn;
    [selectedVendor]: AutoCompleteGroupedSingleSelectCustomGroupFieldValue;
    [status]: ReviewStatus;
    [lastUpdatedVendorNameByUser]?: User;
    [recommendedFirst]?: RecommendedNonExistingGlobalMerchant;
    [recommendedSecond]?: RecommendedNonExistingGlobalMerchant;
    [retainVendorId]?: ID;
}
export type FormDataKeys = keyof VendorFirstReviewRowFormData;
export interface ReviewPageDialogueProps {
    primaryButtonText: string;
    title: string;
    description?: string;
    descriptionHeader?: string;
    secondaryButtonText?: string;
    subTitle?: string;
}
export interface VendorDetailSectionFormData {
    [vendorId]?: ID;
    [websiteUrl]?: string;
}
export type VendorDetailFormDataKeys = keyof VendorDetailSectionFormData;
export declare const uniqueName: (sectionId: string, key: VendorDetailFormDataKeys) => `${string}.websiteUrl` | `${string}.vendorId`;
export type VendorDetailFormDataKeyUniqueNames = ReturnType<typeof uniqueName>;
