import type { ComponentType } from "react"; export type ConnectableItem = Record; export type ConnectedItem = ConnectableItem & { _title: string; _href?: string; _index: number; }; type ConnectableInputProps = { items?: unknown; itemTitleTemplate?: string; itemUrlTemplate?: string; min?: number; max?: number; }; /** Interpolate `{{ item.field }}` and `{{ index }}` placeholders in a template string. */ export declare function renderItemTemplate(template: string, item: ConnectableItem, index: number): string; /** * Whether a resolved href is safe to render as a live link: a relative path * (`/...`, `./...`) or an absolute `http(s)://` URL. Shared with other * datasource-driven blocks (e.g. the Data/List block's `targetPage`) that * resolve their own href strings and need the same allowlist. */ export declare function isSafeHref(href: string): boolean; /** HOC that wraps a component expecting `ConnectedItem[]` with datasource template resolution. */ export declare function Connectable(Base: ComponentType): (props: Omit & ConnectableInputProps) => import("react").JSX.Element; export {};