import { type ElementType, type ReactNode } from 'react';
import { type PageLayoutProps } from '../../components/PageLayout';
import type { SecondaryAction } from '../FormPageLayoutBase';
import { type UseFormReturn } from '../useForm';
type FormPageProps<TFormValues extends Record<string, unknown>> = {
    form: UseFormReturn<TFormValues> | null;
    /**
     * Если true, форма будет недоступна для взаимодействия
     */
    isDisabled?: boolean;
    /**
     * Дополнительные кнопки формы
     */
    secondaryActions?: SecondaryAction[];
};
export type FormPageLayoutBaseProps<TFormValues extends Record<string, unknown>, TMainActionComponent extends ElementType = ElementType, TSecondaryActionComponent extends ElementType = ElementType, TBackButtonComponent extends ElementType = ElementType> = Omit<PageLayoutProps<TMainActionComponent, TSecondaryActionComponent, TBackButtonComponent>, 'content'> & {
    /**
     * Содержимое layout
     */
    children: (props: {
        isDisabled?: boolean;
    }) => ReactNode;
    /**
     * Параметры страницы формы
     */
    formProps: FormPageProps<TFormValues>;
    /**
     * Класс применяемый к PageContent
     */
    contentClassname?: string;
};
/**
 * Компонент не предназначен для экспорта из пакета. Используется внутри FormPageLayout и FormWizardPageLayout
 */
export declare const FormPageLayoutBase: <TFormValues extends Record<string, unknown>>(props: FormPageLayoutBaseProps<TFormValues, ElementType, ElementType, ElementType>) => import("react/jsx-runtime").JSX.Element;
export {};
