import Localization, { TranslationKey } from '../../../core/Localization';
import { FieldValues } from '../../../hooks/form/types';
import { IPaymentLinkConfiguration, IPaymentLinkConfigurationElement } from '../../../types/api/models/payByLink';
import { PaymentLinkCreationFormValues } from './components/types';
import { PaymentLinkFieldsVisibilityConfig } from '../../types';
interface FormFieldConfig {
    fieldName: FieldValues<PaymentLinkCreationFormValues>;
    required: boolean;
    visible: boolean;
    includeInApiPayload: boolean;
    readOnly?: boolean;
    label?: TranslationKey;
    options?: IPaymentLinkConfigurationElement['options'];
}
export interface FormStepConfig {
    id: string;
    title?: string;
    fields: FormFieldConfig[];
    isOptional?: boolean;
}
export declare const scrollToFirstErrorField: (errorFields: string[], visibilityOffset: number, scope?: ParentNode | null) => void;
export declare const getFormSteps: ({ i18n, getFieldConfig, visibilityConfig, }: {
    i18n: Localization["i18n"];
    getFieldConfig: (field: keyof IPaymentLinkConfiguration) => IPaymentLinkConfigurationElement | undefined;
    visibilityConfig?: PaymentLinkFieldsVisibilityConfig;
}) => ReadonlyArray<FormStepConfig>;
export {};
//# sourceMappingURL=utils.d.ts.map