import { IconComponent } from '@consta/icons/Icon';
import React from 'react';
import { Space } from "../../mixs/MixSpace";
import { PropsWithHTMLAttributes } from "../../utils/types/PropsWithHTMLAttributes";
export declare const spolierPropSize: readonly ["xs", "s", "m", "l"];
export declare type SpoilerPropSize = typeof spolierPropSize[number];
export declare const defaultSpoilerPropSize = "m";
export declare const spolierPropButtonAlign: readonly ["left", "center", "right"];
export declare type SpoilerPropButtonAlign = typeof spolierPropButtonAlign[number];
export declare const defaultSpoilerPropButtonAlign: "left";
export declare type SpoilerModeProp = 'dots' | 'blur';
export declare type SpoilerButtonProps = {
    size?: SpoilerPropSize;
    lessLabel?: string;
    lessIcon?: IconComponent;
    moreLabel?: string;
    moreIcon?: IconComponent;
    open?: boolean;
};
export declare type SpoilerProps = Omit<PropsWithHTMLAttributes<{
    size?: SpoilerPropSize;
    lessLabel?: string;
    lessIcon?: IconComponent;
    moreLabel?: string;
    moreIcon?: IconComponent;
    buttonIndent?: Space;
    buttonAlign?: SpoilerPropButtonAlign;
}, HTMLDivElement>, 'children'> & ({
    preview: React.ReactNode;
    content: React.ReactNode;
    maxHeight?: never;
    children?: never;
    lineClamp?: never;
} | {
    preview?: never;
    content?: never;
    children: React.ReactNode;
    maxHeight: number;
    lineClamp?: never;
} | {
    preview?: never;
    content?: never;
    children: React.ReactNode;
    maxHeight?: never;
    lineClamp: number;
});
export declare type SpoilerMode = 'lineClamp' | 'blur' | 'toggle';
