import { s as MaybeReactiveProps } from "./children-s3nFjpLA.mjs"; //#region src/for.d.ts type KeyFn = (item: T, index: number) => string | number; type RenderFn = (item: T, index: number) => Element | DocumentFragment | null; interface Entry { /** Marks the start of this item's DOM range. */ start: Comment; /** Marks the end of this item's DOM range. */ end: Comment; /** Disposes effects/onCleanup registered by the render callback for this item. */ dispose: () => void; } /** * Props for ``, derived from its public instance fields. * `each` and `children` are required; `by` is optional (identity keying by * default). Non-function props also accept a reactive getter — `each` takes a * signal of arrays. * * @example * ```tsx * import { signal } from "elements-kit/signals"; * import { For } from "elements-kit"; * * const todos = signal([{ id: 1, text: "write docs" }]); * * const props: ForProps<{ id: number; text: string }> = { * each: todos, * by: (t) => t.id, * children: (t) =>
  • {t.text}
  • , * }; * ``` */ type ForProps = MaybeReactiveProps<{ each: T[]; by?: KeyFn; children: RenderFn; }>; /** * Keyed list renderer. See {@link ForProps} for prop details. * * @example * ```tsx * import { signal } from "elements-kit/signals"; * import { For } from "elements-kit"; * * const todos = signal([{ id: 1, text: "write docs" }]); * * t.id}> * {(t) =>
  • {t.text}
  • } *
    * ``` */ declare class For { #private; constructor(_props?: ForProps); get each(): T[]; set each(v: T[] | (() => T[])); by: KeyFn; children: RenderFn; render(): DocumentFragment; /** * @internal Hydrate support: adopt server-rendered range markers and * pre-claimed entries instead of creating a fresh range. The first * reconcile run sees matching key order and performs no DOM operations; * later `each` changes reconcile against the adopted entries as usual. */ hydrateRange(start: Comment, end: Comment, entries: ReadonlyMap, order: ReadonlyArray): void; } /** @internal Cross-instance-safe For check (identity or brand). */ declare function isForComponent(type: unknown): boolean; //#endregion export { Entry, For, isForComponent };