import { ClientAnalytics } from '@zeniai/client-analytics';
import { AllowedValueWithCode, CompanyMileageConfigInfo, FetchStateAndError, MileageDenomination, MileageDetailsLocalData } from '@zeniai/client-epic-state';
import { FormSectionProps } from '../../../../formElements/common/formSection';
/**
 * Component & its Props
 */
export interface Props extends FormSectionProps {
    analytics: ClientAnalytics;
    mileageDetails: {
        mileageStatus: AllowedValueWithCode;
        updateStatus: FetchStateAndError;
        localData?: MileageDetailsLocalData;
    };
    companyMileageConfigInfo?: CompanyMileageConfigInfo;
    isActive?: boolean;
    style?: React.CSSProperties;
    onSaveMileageClick?: (mileageAmountInDenomination: number) => void;
}
export declare function MileageSection({ companyMileageConfigInfo, mileageDetails, analytics, style, sectionId, isActive, isDisabled, onSaveMileageClick, }: Readonly<Props>): import("react/jsx-runtime").JSX.Element;
/**
 * Form Data Type
 */
export interface MileageSectionFormData {
    denomination: MileageDenomination;
    denominationSymbol: string;
    description: string;
    mileageCurrencyCode: string;
    mileageCurrencySymbol: string;
    mileageUnit: string;
    mileageAmount?: number;
    mileageAmountInDenomination?: number;
}
type FormDataKeys = keyof MileageSectionFormData;
declare const uniqueName: (sectionId: string, key: FormDataKeys) => `${string}.description` | `${string}.denomination` | `${string}.denominationSymbol` | `${string}.mileageCurrencyCode` | `${string}.mileageCurrencySymbol` | `${string}.mileageUnit` | `${string}.mileageAmount` | `${string}.mileageAmountInDenomination`;
export type FormDataKeyUniqueNames = ReturnType<typeof uniqueName>;
export {};
