import { ComponentPropsWithoutRef } from 'react'; import { LayoutUtilProps } from '../../types'; /** * The current state of the edit card. */ export type EditCardState = "not started" | "in progress" | "error" | "complete"; /** * The type of state change that can occur. */ export type EditCardChange = "edit" | "save" | "cancel"; /** * Props for the EditCard component * @extends ComponentPropsWithoutRef<"div"> * @extends LayoutUtilProps */ export type EditCardProps = ComponentPropsWithoutRef<"div"> & LayoutUtilProps & { /** * The header text to display. Can be a string or an object mapping states to different text. */ headerText: string | { "not started": string; "in progress": string; error: string; complete: string; }; /** * The current state of the edit card. */ state: EditCardState; /** * Text to display on the save button. * @default "Save" */ saveButtonText?: string; /** * Text to display on the edit button. * @default "Edit" */ editButtonText?: string; /** * Whether to disable the edit button. * @default false */ disableEdit?: boolean; /** * Whether to disable the save button. * @default false */ disableSave?: boolean; /** * Callback function called when the state changes. */ onStateChange?: (changeType: EditCardChange) => void; }; /** * EditCard component for managing editable content with different states and actions. * * Features: * - Four distinct states: not started, in progress, error, and complete * - Visual indicators for each state with appropriate icons * - Dynamic header text that can change based on state * - Edit and save buttons with customizable text * - Optional button disabling for different states * - State change callbacks for handling user interactions * - Built on Card component with consistent styling * - Supports layout utilities for positioning and spacing * - Accessible with proper ARIA attributes * - Visual state indicators with color-coded borders * * @example * console.log(change)} * > * Profile information goes here * */ export declare const EditCard: import('react').ForwardRefExoticComponent, HTMLDivElement>, "ref"> & LayoutUtilProps & { /** * The header text to display. Can be a string or an object mapping states to different text. */ headerText: string | { "not started": string; "in progress": string; error: string; complete: string; }; /** * The current state of the edit card. */ state: EditCardState; /** * Text to display on the save button. * @default "Save" */ saveButtonText?: string; /** * Text to display on the edit button. * @default "Edit" */ editButtonText?: string; /** * Whether to disable the edit button. * @default false */ disableEdit?: boolean; /** * Whether to disable the save button. * @default false */ disableSave?: boolean; /** * Callback function called when the state changes. */ onStateChange?: (changeType: EditCardChange) => void; } & import('react').RefAttributes>;