import React from 'react';
import { FiltersMap } from '@wix/bex-core';
import { PickerListItemProps } from '../PickerListItemProps';
import { PickerContentBaseWrappedProps } from './PickerContentBaseWrapped';
import { PickerContentState } from '../../state';
export interface PickerContentAdditionalStepProps<T> extends Partial<PickerContentBaseWrappedProps> {
    /** When true, the picker will start directly on the additional step, skipping the first selection step. The back button will also be hidden. */
    autoAdditionalStepOnInitialSelect?: boolean;
    /** The additional step title */
    additionalStepTitle?: string;
    /** The additional step subtitle */
    additionalStepSubtitle?: string;
    /** Defines a function that returns a component to render in the additional step content area, if `hasAdditionalStep` returns `false` this prop is ignored. */
    renderAdditionalStepContent?: (props: {
        item: T;
    }) => JSX.Element;
    /** Indicates if selected item has additional step or not */
    hasAdditionalStep?: (props: {
        item: T;
    }) => boolean;
    /** Defines a callback function just before primaryButtonOnClick callback, returned value will be added as `additionalStepData` in onSelect payload */
    onBeforeSelectAdditionalStep?: () => Promise<unknown>;
    /** Defines a callback function after user clicks on the continue button to additional step content */
    continueButtonOnClick?: (props: {
        item: T;
    }) => void;
    /** Defines a callback function after user clicks on the back button in the additional step content */
    backButtonOnClick?: (props: {
        item: T;
    }) => void;
    /** Additional steps modal content overrides */
    additionalStepOverrides?: {
        extraNode?: React.ReactNode;
        extraText?: string;
        subtitle?: string;
        image?: React.ReactNode;
        enablePrimaryButton?: boolean;
    };
}
interface PickerContentAdditionalStepStateProps<T, F extends FiltersMap> {
    pickerContentState: PickerContentState<T, F>;
    renderItem: (item: T, index: number) => Partial<PickerListItemProps>;
    onBackButtonClick: () => void;
}
export type PickerContentAdditionalStepFullProps<T, F extends FiltersMap = FiltersMap> = PickerContentAdditionalStepProps<T> & PickerContentAdditionalStepStateProps<T, F>;
declare function _PickerContentAdditionalStep<T, F extends FiltersMap = FiltersMap>(props: PickerContentAdditionalStepFullProps<T, F>): React.JSX.Element;
export declare const PickerContentAdditionalStep: typeof _PickerContentAdditionalStep & {
    displayName: string;
};
export {};
//# sourceMappingURL=PickerContentAdditionalStep.d.ts.map