import { Theme } from '../../../models/Theme'; import { default as React, ReactNode } from 'react'; /** * Common properties shared by multiple interfaces. */ type common = { classString?: string; color?: string; dir?: string; fontSize?: string; $padding?: boolean; theme?: Theme; }; /** * Interface for the Title component. */ export interface Title extends common { active?: boolean; title?: string | ReactNode; url?: string; } /** * Interface for the Content component. */ export interface Content extends common { content?: string | ReactNode; padding?: boolean; } /** * Type for the ExpandButtonModel. */ export type ExpandButtonModel = { expanded?: boolean; onExpand?: (ev: React.PointerEvent | React.KeyboardEvent) => void; textOverlay?: boolean; } & Pick; /** * Type for the ShowHideTextButtonModel. */ export type ShowHideTextButtonModel = { onToggle: (ev: React.PointerEvent | React.KeyboardEvent) => void; show?: boolean; textOverlay?: boolean; } & Pick; /** * Type for the DetailsTextMemoModel. */ export type DetailsTextMemoModel = { theme?: Theme; show: boolean; expand: boolean; textOverlay: boolean; text: React.FC; height?: number; onRender?: (height: number) => void; }; /** * Type for the TextContentMemoModel. */ export type TextContentMemoModel = Title & Content & ExpandButtonModel & ShowHideTextButtonModel & DetailsTextMemoModel; /** * Type for the CardMediaHeaderMemoModel. */ export type CardMediaHeaderMemoModel = Title & Content; export {}; //# sourceMappingURL=memoized-model.d.ts.map