import { ChargeCardWithUser, FetchState, ID, RecurringExpense } from '@zeniai/client-epic-state';
declare const reasonSectionId = "reasonSection";
export declare const lockCardPage = "lockCardPage";
type ReasonType = "Lost or stolen" | "Fraud detected" | "Not needed" | "other";
export interface LockCardFormData {
    reason?: string;
    reasonType?: ReasonType;
}
type FormDataKeys = keyof LockCardFormData;
export interface FormData {
    [reasonSectionId]: LockCardFormData;
}
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 LockCardPageProps {
    cardRecurringExpenseFetchState: FetchState;
    cardRecurringExpensesByCardId: Record<ID, RecurringExpense[]>;
    chargeCardsByCardId: Record<ID, ChargeCardWithUser>;
    isChargeCardAdmin: boolean;
    lockCardFetchState: FetchState;
    showLockCardDrawer: boolean;
    onCloseLockCardDrawer: () => void;
    onConfirmClick: (formDataToPayload: LockCardFormData) => void;
    onDismissClick: () => void;
    onRemoveCardClick: (cardId: string) => void;
}
declare const LockCardPage: ({ showLockCardDrawer, onCloseLockCardDrawer, isChargeCardAdmin, chargeCardsByCardId, cardRecurringExpensesByCardId, cardRecurringExpenseFetchState, lockCardFetchState, onRemoveCardClick, onConfirmClick, onDismissClick, }: LockCardPageProps) => import("react/jsx-runtime").JSX.Element;
export default LockCardPage;
