import { AddressType, FetchStateAndError, Filing1099TinType, ID, NewAddressData, TenantView, Vendor, VendorFiling1099UploadDetailsSelectorView, VendorFiling1099UploadDetailsState, VendorsFiling1099UploadDetailsLocalData } from '@zeniai/client-epic-state';
import { AddressFormData } from '../../address/addressHelper';
import { SingleSelectWithoutClearableFieldValue } from '../../singleSelectWithoutClearable/SingleSelectWithoutClearableField';
export interface VendorFiling1099EditablePageProps {
    currentTenant: TenantView;
    fetchVendorFetchStatus: FetchStateAndError;
    googleAPIKey: ID;
    vendor: Vendor;
    vendorFiling1099UploadDetails: VendorFiling1099UploadDetailsSelectorView;
    vendorFiling1099UploadDetailsViewState: VendorFiling1099UploadDetailsState;
    vendorId: ID;
    vendorAddress?: NewAddressData;
    goBackToListPage: () => void;
    onAddressClick: (addressType: AddressType) => void;
    onAddressEditHandler: (formData: FormDataForVendor1099FilingUpload) => void;
    onResetVendorFiling1099FormStatus: () => void;
    onSaveChangesToLocalStore: (localData: VendorsFiling1099UploadDetailsLocalData) => void;
    onVendorFiling1099UploadDetailsSave: (vendorId: ID, signal: AbortSignal) => void;
}
declare const vendor1099FilingSectionId = "vendor1099FilingSectionId";
declare const legalName = "legalName";
declare const email = "email";
declare const phone = "phone";
declare const taxClassification = "taxClassification";
declare const tinType = "tinType";
declare const tinValue = "tinValue";
export interface Vendor1099FilingSectionFormData extends AddressFormData {
    [email]: string | undefined;
    [legalName]: string;
    [phone]: string;
    [taxClassification]: SingleSelectWithoutClearableFieldValue;
    [tinType]: Filing1099TinType["type"];
    [tinValue]: Filing1099TinType["value"];
}
type FormDataKeys = keyof Vendor1099FilingSectionFormData;
export declare const uniqueFormName: (sectionId: ID) => `${string}_form`;
declare const uniqueName: (sectionId: string, key: FormDataKeys) => `${string}.email` | `${string}.phone` | `${string}.city` | `${string}.country` | `${string}.postalCode` | `${string}.state` | `${string}.street` | `${string}.countryCode` | `${string}.secondaryInfo` | `${string}.suite` | `${string}.legalName` | `${string}.taxClassification` | `${string}.tinType` | `${string}.tinValue`;
export type FormDataKeyUniqueNames = ReturnType<typeof uniqueName>;
export interface FormDataForVendor1099FilingUpload {
    [vendor1099FilingSectionId]: Vendor1099FilingSectionFormData;
}
declare const VendorFiling1099DetailsEditablePage: (props: Readonly<VendorFiling1099EditablePageProps>) => import("react/jsx-runtime").JSX.Element;
export default VendorFiling1099DetailsEditablePage;
