import React, { CSSProperties, ReactNode } from 'react';
import { FormExpandableHeaderProps } from '@parlor/components/form-expandable-header';
import { FormHeaderProps } from '@parlor/components/form-header';
import { FieldWrapperProps } from '@parlor/components/select-v4';
export type FormBlockProps = {
    /**
     * content element
     */
    children: ReactNode;
    /**
     * class name
     */
    className?: string;
    /**
     * object with class names of container and content
     */
    classes?: {
        container?: string;
        content?: string;
    };
    customHeader?: JSX.Element;
    /**
     * set true for open by default
     */
    defaultOpen?: boolean;
    /**
     * header title
     */
    description?: string;
    /**
     * options for FormExpandableHeader component
     */
    expandableHeaderOptions?: Partial<FormExpandableHeaderProps>;
    hasDivider?: boolean;
    /**
     * styles of header
     */
    headerStyle?: (isOpen: boolean) => CSSProperties | undefined;
    /**
     * header variation
     */
    headerVariation?: FormExpandableHeaderProps['variation'];
    icon?: JSX.Element;
    indicatorCount?: number;
    isExpandDisabled?: boolean;
    /**
     * set true for expandable header
     */
    isExpandable?: boolean;
    noLines?: FormExpandableHeaderProps['noLines'];
    link?: string;
    /**
     * @description if you omit `onToggle` and `open` props header will handle it automatically.
     *  If you need default state pass `defaultOpen` instead
     */
    open?: boolean;
    /**
     * styles of content
     */
    style?: CSSProperties;
    title?: string | {
        closed: string;
        opened: string;
    };
    titleVariant?: FormHeaderProps['variant'];
    variation?: FieldWrapperProps['variation'];
    /**
     * @description if you omit `onToggle` and `open` props header will handle it automatically.
     * If you need default state pass `defaultOpen` instead
     * @param {boolean} nextState
     */
    onToggle?(nextState: boolean): void;
    titleAndIcon?: FormExpandableHeaderProps['titleAndIcon'];
    linkText?: string;
    color?: 'navy' | 'gray' | 'white';
};
export declare const FormBlockContext: React.Context<"" | "inlineSpace" | "inlinePacked" | "stacked">;
export declare const FormBlock: React.NamedExoticComponent<FormBlockProps>;
