import { default as React, DetailedHTMLProps } from 'react';
import { IABaseProps } from '../ABase/ABase';
import { Resources } from '../AResource/AResource';
/**
 * AComponent : AFrame : ARowFrame
 *
 * Description : ARowFrame is a frame component that is displayed as a row and aligned center.
 *
 * Basic Usage :
 *
 *     if (case 1)
 *       <ARowFrame>
 *         Items
 *         <div>Item1</div>
 *         <AICon icon="Alert"/>
 *       </ARowFrame>
 */
export declare const ARowFrame: (props: IABaseProps) => import("react/jsx-runtime").JSX.Element;
/**
 * AComponent : AFrame : AColFrame
 *
 * Description : AColFrame is a frame component that is displayed as a column and aligned center.
 *
 * Basic Usage :
 *
 *     if (case 1)
 *       <AColFrame>
 *         Items
 *         <div>Item1</div>
 *         <AICon icon="Alert"/>
 *       </AColFrame>
 */
export declare const AColFrame: (props: IABaseProps) => import("react/jsx-runtime").JSX.Element;
interface IAOverflowFrameProps extends IABaseProps {
    /**
     * lineClamp? : number = 1
     *
     * Description : decides how many lines are shown before ellipsis is applied.
     */
    lineClamp?: number;
    /**
     * noOverflowTooltip? : boolean
     *
     * Description : decides whether to display tooltip when overflowed or not
     */
    noOverflowTooltip?: boolean;
}
/**
 * AComponent : AFrame : AOverflowFrame
 *
 * Description : AOverflowFrame is a frame component that supports single-line or multi-line ellipsis and shows tooltips when overflowed.
 *
 * Basic Usage :
 *
 *     if (case 1)
 *       <AOverflowFrame>
 *         Long TextTextTextTextTextTextTextTextTextText
 *       </AOverflowFrame>
 */
export declare const AOverflowFrame: (props: IAOverflowFrameProps) => import("react/jsx-runtime").JSX.Element;
interface IASplitterProps<T extends string | number> {
    map: Partial<Record<T | 'fallback', React.ReactNode>>;
    value: T;
}
export declare const ASwitchFrame: <T extends string | number>(props: IASplitterProps<T>) => import("react/jsx-runtime").JSX.Element | Record<"fallback" | T, React.ReactNode>["fallback"] | undefined;
export interface IADivideFrameProps extends DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement> {
    /**
     * childClassName? : string
     *
     * Description : the className of the child frame
     */
    childClassName?: string;
    /**
     * childStyle? : React.CSSProperties
     *
     * Description : the style of the child frame
     */
    childStyle?: React.CSSProperties;
    /**
     * children : React.ReactNode | React.ReactNode[]
     *
     * Description : the children of the frame
     */
    children: React.ReactNode | React.ReactNode[];
    /**
     * direction? : 'Row' | 'Col'
     *
     * Description : decides whether to display as row or column
     */
    direction?: 'Row' | 'Col';
    /**
     * dividerClassName? : string
     *
     * Description : the className of the divider
     */
    dividerClassName?: string;
    /**
     * dividerInnerClassName? : string
     *
     * Description : the className of the divider inner
     */
    dividerInnerClassName?: string;
    /**
     * deviderInnerStyle? : React.CSSProperties
     *
     * Description : the style of the divider inner
     */
    dividerInnerStyle?: React.CSSProperties;
    /**
     * dividerPadding? : number
     *
     * Description : the padding of the divider
     */
    dividerPadding?: number;
    /**
     * dividerStyle? : React.CSSProperties
     *
     * Description : the style of the divider
     */
    dividerStyle?: React.CSSProperties;
    /**
     * expandLayerLength? : number | number[] = 40
     *
     * Description : decides the layer lengths when expanding. Each value represents the length of each layer when expanded.
     */
    expandLayerLength?: number | number[];
    /**
     * lefts : number[]
     *
     * Description : the lefts of the child dividers. it will work as tops when direction is 'Col'.
     */
    lefts: number[];
    /**
     * minLength? : number = 40
     *
     * Description : decides the minimum length of each child frame. The length is the width when direction is 'Row' and the height when direction is 'Col'.
     */
    minLength?: number | number[];
    /**
     * noDividerDraggable? : boolean
     *
     * Description : decides whether to enable drag or not
     */
    noDividerDraggable?: boolean;
    /**
     * pk? : string | number
     *
     * Description : the primary key of the frame. lengths will be saved localy with the pk
     * frames can be confused if you use same pks in different frames.
     * if you don't use pk, the lengths willd not be saved.
     */
    pk?: string | number;
    /**
     * resources: typeof Resources.ADivideFrame;
     *
     * Description : the resources of the ADivideFrame
     */
    resources?: Partial<typeof Resources.ADivideFrame>;
    /**
     * showExpandButton? : boolean
     *
     * Description : decides whether to show expand button for expanding/collapsing divider functionality when divider reaches edges
     */
    showExpandButton?: boolean;
}
export declare const ADivideFrame: React.MemoExoticComponent<(props: IADivideFrameProps) => import("react/jsx-runtime").JSX.Element>;
export {};
