import type { FlexBoxProps } from '@ariestools/sdk-react/flexbox'; import type { PaperProps } from '@mui/material'; import type { ReactNode } from 'react'; import type { SizeProp } from '../../shared/index.js'; import type { PropertyAction } from './Action.js'; import type { PropertyTitleProps } from './Title.js'; /** Shared title and tip props for property fields and groups. */ export interface PropertyBaseProps { paper?: boolean; tip?: ReactNode; title?: string; titleProps?: PropertyTitleProps; } /** Base field props for a single property value and its actions. */ export type PropertyFieldBaseProps = PropertyBaseProps & { actions?: PropertyAction[]; badge?: boolean; required?: boolean; size?: SizeProp; value?: string | number | boolean | null; }; /** Props for the non-Paper {@link Property} layout. */ export type PropertyBoxProps = PropertyFieldBaseProps & FlexBoxProps & { paper?: false; }; /** Props for the Paper-wrapped {@link Property} layout. */ export type PropertyPaperProps = PropertyFieldBaseProps & PaperProps & { paper: true; }; /** Props for {@link Property}. */ export type PropertyProps = PropertyBoxProps | PropertyPaperProps; /** Shared base props for property groups. */ export type PropertyGroupBaseProps = PropertyBaseProps; /** Props for the non-Paper {@link PropertyGroup} layout. */ export type PropertyGroupBoxProps = PropertyGroupBaseProps & FlexBoxProps & { paper?: false; }; /** Props for the Paper-wrapped {@link PropertyGroup} layout. */ export type PropertyGroupPaperProps = PropertyGroupBaseProps & PaperProps & { paper: true; }; /** Props for {@link PropertyGroup}. */ export type PropertyGroupProps = PropertyGroupBoxProps | PropertyGroupPaperProps; //# sourceMappingURL=Props.d.ts.map