import { ChargeCardWithUser, FetchState, ID, RecurringExpense } from '@zeniai/client-epic-state';
declare const reasonSectionId = "reasonSection";
export declare const closeCardPage = "closeCardPage";
type ReasonType = "Lost or stolen" | "Fraud detected" | "Not needed" | "other";
export interface CloseCardFormData {
    reason?: string;
    reasonType?: ReasonType;
}
type FormDataKeys = keyof CloseCardFormData;
export interface FormData {
    [reasonSectionId]: CloseCardFormData;
}
declare const uniqueName: (sectionId: string, key: FormDataKeys) => `${string}.reason` | `${string}.reasonType`;
export type FormDataKeyUniqueNames = ReturnType<typeof uniqueName>;
export declare const uniqueFormName: (sectionId: ID) => `${string}_form`;
export interface CloseCardPageProps {
    cardRecurringExpenseFetchState: FetchState;
    cardRecurringExpensesByCardId: Record<ID, RecurringExpense[]>;
    chargeCardsByCardId: Record<ID, ChargeCardWithUser>;
    closeCardFetchState: FetchState;
    isChargeCardAdmin: boolean;
    showCloseCardDrawer: boolean;
    onCloseCloseCardDrawer: () => void;
    onConfirmClick: (formDataToPayload: CloseCardFormData) => void;
    onDismissClick: () => void;
    onRemoveCardClick: (cardId: string) => void;
}
declare const CloseCardPage: ({ showCloseCardDrawer, onCloseCloseCardDrawer, isChargeCardAdmin, chargeCardsByCardId, cardRecurringExpensesByCardId, cardRecurringExpenseFetchState, closeCardFetchState, onRemoveCardClick, onConfirmClick, onDismissClick, }: CloseCardPageProps) => import("react/jsx-runtime").JSX.Element;
export default CloseCardPage;
