import { CSSProperties } from 'react';
import { CardProps, FlexProps, RowProps, ColProps, ButtonProps, TabsProps } from 'antd';
import type { TextProps } from 'antd/es/typography/Text';
import type { LinkProps } from 'antd/es/typography/Link';
import * as AntIcons from '@ant-design/icons';
import { AntdIconProps } from '@ant-design/icons/lib/components/AntdIcon';
export type TAntdTextProps = {
    id: number | string;
    text: string;
} & Omit<TextProps, 'id' | 'children'>;
export type TAntdLinkProps = {
    id: number | string;
    text: string;
    href: string;
} & Omit<LinkProps, 'id' | 'children' | 'href'>;
export type TAntdCardProps = {
    id: number | string;
} & Omit<CardProps, 'id'>;
export type TAntdFlexProps = {
    id: number | string;
} & Omit<FlexProps, 'id' | 'children'>;
export type TAntdRowProps = {
    id: number | string;
} & Omit<RowProps, 'id' | 'children'>;
export type TAntdColProps = {
    id: number | string;
} & Omit<ColProps, 'id' | 'children'>;
export type TAntdTabsProps = {
    id: number | string;
    syncActiveKeyWithHash?: boolean;
    allowOpenInNewBrowserTab?: boolean;
    unmountOnTabChange?: boolean;
} & Omit<TabsProps, 'id' | 'children'>;
export type TAntdButtonProps = {
    id: number | string;
    text: string;
} & Omit<ButtonProps, 'id' | 'children'>;
export type TAntdIconsProps = {
    id: number | string;
    iconName: Exclude<keyof typeof AntIcons, 'createFromIconfontCN'>;
    iconProps?: AntdIconProps;
    containerStyle?: React.CSSProperties;
};
export type TAntdResultProps = {
    id: number | string;
    reqIndex?: number | number[];
    /** Dot-separated path to the array in the response to check for emptiness.
     *  Default: ".items" (K8s list response format). Can be changed for non-K8s
     *  APIs, e.g. ".data.results".
     *  When reqIndex is an array, itemsPath can also be an array — each position
     *  maps to the corresponding reqIndex (e.g. reqIndex: [0,1], itemsPath: [".items", ".data.results"]). */
    itemsPath?: string | string[];
    /** Whether to check if the array at `itemsPath` is empty and show 404 when
     *  it is. Default: true — antdResult reacts to empty responses by default.
     *  Set to false to explicitly disable this check. */
    checkEmpty?: boolean;
    status?: 'success' | 'error' | 'info' | 'warning' | '403' | '404' | '500' | 403 | 404 | 500;
    title?: string;
    subTitle?: string;
    style?: CSSProperties;
};
