/**
 * Copyright (c) Adaptavist, Inc.
 */
import { ComponentPropsWithoutRef } from 'react';
export type ISkeleton = ComponentPropsWithoutRef<'div'> & {
    /**
     * Prop to specify if the Skeleton should show its' active animation.
     *
     * If set to true, the active animation will play.
     * If set to false, the active animation will not play.
     *
     * Default is `false`.
     */
    active?: boolean;
    /**
     * Prop to specify if the Skeleton should show a title placeholder.
     *
     * If set to true, a placeholder will render.
     * If set to false, nothing will happen.
     *
     * Default is `true`.
     */
    heading?: boolean | ISkeletonHeading;
    /**
     * Prop to set if the Skeleton should be loading.
     *
     * If set to true, this will display the `Skeleton`.
     * If set to false, this will display all the available children.
     *
     * Default is `true`.
     */
    loading?: boolean;
    /**
     * Prop to specify if the Skeleton should show a paragraph placeholder.
     *
     * If set to true, a placeholder will render.
     * If set to false, nothing will happen.
     *
     * Default is `true`.
     */
    paragraph?: boolean | ISkeletonParagraph;
    /**
     * Prop to specify if the Skeleton should show a table placeholder.
     *
     * If set to true, a placeholder will render.
     * If set to false, nothing will happen.
     *
     * Default is `true`.
     */
    table?: boolean | ISkeletonTable;
};
export interface ISkeletonTable {
    /**
     * Prop to specify if the Skeleton table should
     */
    active?: boolean;
    /**
     * A prop to specify the column count of table body data in the Skeleton.
     *
     * Default is `undefined`.
     */
    columns?: number;
    /**
     * A prop to specify the row count of table body data in the Skeleton.
     *
     * Default is `undefined`.
     */
    rows?: number;
}
export interface ISkeletonHeading {
    /**
     * Prop to specify if the heading should be active or not.
     *
     * Default is `true`.
     */
    active?: boolean;
    /**
     * Prop to specify the width of the heading.
     *
     * Default is `an empty string`.
     */
    width?: string;
}
export interface ISkeletonParagraph {
    /** Prop to specify if the paragraph should be active or not.
     *
     * Default is `true`.
     */
    active?: boolean;
    /**
     * Prop to specify the row count for text.
     *
     * Default is `undefined`.
     */
    rows?: number;
    /**
     * Prop to specify the width of the text.
     *
     * Default is `an empty string`.
     */
    width?: string;
}
