import { IconComponent, IconProps } from '@consta/icons/Icon';
import React from 'react';
import { PropsWithHTMLAttributes, PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';
export declare const collapsePropSize: readonly ["m", "l", "s", "xs", "2xs"];
export type CollapsePropSize = typeof collapsePropSize[number];
export declare const collapsePropSizeDefault: "m";
export declare const collapsePropForm: readonly ["brick", "default", "round"];
export type CollapsePropForm = typeof collapsePropForm[number];
export declare const collapsePropFormDefault: "brick";
export declare const collapsePropView: readonly ["clear", "ghost", "primary", "secondary"];
export type CollapsePropView = typeof collapsePropView[number];
export declare const collapsePropViewDefault: "clear";
export declare const collapsePropHorizontalSpace: readonly ["3xs", "6xl", "5xl", "4xl", "3xl", "2xl", "xl", "l", "m", "s", "xs", "2xs"];
export type CollapsePropHorizontalSpace = typeof collapsePropHorizontalSpace[number];
export declare const collapsePropIconPosition: readonly ["left", "right"];
export type CollapsePropIconPosition = typeof collapsePropIconPosition[number];
export declare const collapsePropIconPositionDefault: "left";
export declare const collapseIconPropDirection: readonly ["up", "right", "down", "left", "upRight", "downRight", "upLeft", "downLeft"];
export type CollapseIconPropDirection = typeof collapseIconPropDirection[number];
export type CollapseIconProps = PropsWithHTMLAttributes<{
    size: 'xs' | 's';
    icon: React.FC<IconProps>;
    view: CollapsePropIconView;
    isOpen?: boolean;
    children?: never;
    closeIcon?: React.FC<IconProps>;
    direction?: CollapseIconPropDirection;
    closeDirection?: CollapseIconPropDirection;
}, HTMLSpanElement>;
export declare const collapsePropDirectionIcon: readonly ["up", "right", "down", "left", "upRight", "downRight", "upLeft", "downLeft"];
export declare const collapsePropDirectionIconDefault: "up";
export declare const collapsePropCloseDirectionIconDefault: "down";
export declare const collapsePropIconView: readonly ["clear", "ghost"];
export declare const collapsePropIconViewDefault: "clear";
export type CollapsePropIconView = typeof collapsePropIconView[number];
export type CollapseProps = PropsWithHTMLAttributesAndRef<{
    size?: CollapsePropSize;
    icon?: IconComponent;
    form?: CollapsePropForm;
    view?: CollapsePropView;
    divider?: boolean;
    label: React.ReactNode;
    maxContentHeight?: string | number;
    horizontalSpace?: CollapsePropHorizontalSpace;
    hoverEffect?: boolean;
    isOpen?: boolean;
    iconView?: CollapsePropIconView;
    rightSide?: React.ReactNode;
    iconPosition?: 'left' | 'right';
} & ({
    closeIcon?: IconComponent;
    directionIcon?: never;
    closeDirectionIcon?: never;
} | {
    closeIcon?: never;
    directionIcon?: CollapseIconPropDirection;
    closeDirectionIcon?: CollapseIconPropDirection;
}), HTMLDivElement>;
export type CollapseComponent = (props: CollapseProps) => React.ReactElement | null;
