export type Item = {
	title: string;
	subtitle?: string;
	text: string;
	/** When set, the card is clickable: dispatches `collectionItemClick` and applies `tab` / `page` navigation; `event` only notifies the host. */
	link?: { type: "tab" | "page" | "event"; uri: string };
	index?: number;
	image: string;
};

export type Component = {
	id?: string;
	style?: string;
	collection: Item[];
	/** Reserved for future layout tuning; column count is derived from viewport width. */
	size?: number;
};

export type Events = {
	collectionItemClick: { uri: string; link_type?: "tab" | "page" | "event" };
};
