import React__default from 'react';
import { A as ArtCollection, C as CollectionCategoryType } from '../../../index-Bi666jIm.js';
import { C as CartItem } from '../../../cart-Cw3i0Dy6.js';
import { a as Booking } from '../../../booking-CUy8u7Za.js';

type HeaderAction = {
    label: string;
    onClick: () => void;
    variant?: 'primary' | 'ghost';
};
type HeaderCta = {
    label: string;
    onClick: () => void;
};
interface PageHeaderProps {
    title: string;
    subtitle?: string;
    actions?: HeaderAction[];
    cta?: HeaderCta;
}
declare const PageHeader: React__default.FC<PageHeaderProps>;

type CategoryTabItem<T extends string = string> = {
    value: T;
    label: string;
};
interface CategoryTabsProps<T extends string = string> {
    items: CategoryTabItem<T>[];
    activeValue: T;
    onChange: (value: T) => void;
}
declare function CategoryTabs<T extends string = string>({ items, activeValue, onChange }: CategoryTabsProps<T>): React__default.JSX.Element;

type ActionButton = {
    label: string;
    onClick: () => void;
    variant?: 'primary' | 'ghost';
};
type CollectionLike = Pick<ArtCollection, 'id' | 'title' | 'number' | 'coverImage' | 'price'> & {
    description?: string;
    category?: CollectionCategoryType;
};
interface CollectionCardProps {
    collection: CollectionLike;
    actions?: ActionButton[];
    showCategory?: boolean;
    showDescription?: boolean;
    variant?: 'default' | 'compact';
}
declare const CollectionCard: React__default.FC<CollectionCardProps>;

interface BookingStepsProps {
    step: 'select' | 'form';
}
declare const BookingSteps: React__default.FC<BookingStepsProps>;

interface BaseFieldProps {
    label: string;
    value: string;
    placeholder?: string;
    disabled?: boolean;
    error?: string;
    type?: 'text' | 'number';
}
interface FormInputProps extends BaseFieldProps {
    onChange: (value: string) => void;
}
interface FormTextareaProps extends BaseFieldProps {
    onChange: (value: string) => void;
}
declare const FormInput: React__default.FC<FormInputProps>;
declare const FormTextarea: React__default.FC<FormTextareaProps>;

interface CartItemCardProps {
    item: CartItem;
    onIncrease: () => void;
    onDecrease: () => void;
    onRemove: () => void;
}
declare const CartItemCard: React__default.FC<CartItemCardProps>;

interface HistoryRecordCardProps {
    record: Booking;
}
declare const HistoryRecordCard: React__default.FC<HistoryRecordCardProps>;

export { BookingSteps, CartItemCard, CategoryTabs, FormInput, FormTextarea, HistoryRecordCard, CollectionCard as MiniappCollectionCard, PageHeader };
