export type InPlaceEditorType = 'text' | 'number' | 'select' | 'textarea' | 'date';
export interface SelectOption {
    value: string;
    label: string;
}
export interface ArchbaseInPlaceEditorProps {
    /** Valor atual */
    value: any;
    /** Callback ao salvar */
    onSave: (value: any) => void | Promise<void>;
    /** Callback ao cancelar */
    onCancel?: () => void;
    /** Tipo do editor */
    type?: InPlaceEditorType;
    /** Opções para select */
    options?: SelectOption[];
    /** Formatador para exibição */
    formatter?: (value: any) => string;
    /** Validador */
    validate?: (value: any) => boolean | string;
    /** Placeholder do input */
    placeholder?: string;
    /** Texto quando vazio */
    emptyText?: string;
    /** Desabilitado */
    disabled?: boolean;
    /** Salvar ao perder foco */
    saveOnBlur?: boolean;
    /** Mostrar botões de ação */
    showActions?: boolean;
    /** Mostrar ícone de edição no hover */
    showEditIcon?: boolean;
    /** Tamanho do texto */
    textSize?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
    /** Peso do texto */
    textWeight?: number;
    /** Cor do texto */
    textColor?: string;
    /** Número de linhas para textarea */
    textareaRows?: number;
    /** Props do NumberInput */
    numberProps?: {
        min?: number;
        max?: number;
        step?: number;
        decimalScale?: number;
        prefix?: string;
        suffix?: string;
    };
    /** Props do DateInput */
    dateProps?: {
        locale?: string;
        valueFormat?: string;
        minDate?: Date;
        maxDate?: Date;
    };
}
export declare function ArchbaseInPlaceEditor({ value, onSave, onCancel, type, options, formatter, validate, placeholder, emptyText, disabled, saveOnBlur, showActions, showEditIcon, textSize, textWeight, textColor, textareaRows, numberProps, dateProps, }: ArchbaseInPlaceEditorProps): import("react/jsx-runtime").JSX.Element;
/** Editor inline de texto */
export declare function ArchbaseInPlaceTextEditor(props: Omit<ArchbaseInPlaceEditorProps, 'type'>): import("react/jsx-runtime").JSX.Element;
/** Editor inline de número */
export declare function ArchbaseInPlaceNumberEditor(props: Omit<ArchbaseInPlaceEditorProps, 'type'>): import("react/jsx-runtime").JSX.Element;
/** Editor inline de select */
export declare function ArchbaseInPlaceSelectEditor(props: Omit<ArchbaseInPlaceEditorProps, 'type'>): import("react/jsx-runtime").JSX.Element;
/** Editor inline de data */
export declare function ArchbaseInPlaceDateEditor(props: Omit<ArchbaseInPlaceEditorProps, 'type'>): import("react/jsx-runtime").JSX.Element;
export default ArchbaseInPlaceEditor;
