/**
 * @file List.tsx
 * @input Uses React, ReactNode, StyleXStyles, theme tokens, ListContext
 * @output Exports List component, ListProps, ListDensity, ListStyle types
 * @position Core implementation; consumed by index.ts, tested by List.test.tsx
 *
 * SYNC: When modified, update these files to stay in sync:
 * - /packages/core/src/List/List.doc.mjs
 * - /packages/core/src/List/List.test.tsx
 * - /packages/core/src/List/index.ts
 * - /apps/storybook/stories/List.stories.tsx
 * - /packages/cli/assets/templates/blocks/components/List/ (showcase blocks)
 */
import { type ReactNode } from 'react';
import type { BaseProps } from '../BaseProps';
import { type ListDensity, type ListMarkerStyle } from './ListContext';
export { type ListDensity, type ListMarkerStyle as ListStyle, } from './ListContext';
export interface ListProps extends BaseProps<HTMLUListElement | HTMLOListElement> {
    /** Ref forwarded to the root element */
    ref?: React.Ref<HTMLUListElement | HTMLOListElement>;
    /**
     * List items. Should be ListItem components.
     */
    children: ReactNode;
    /**
     * Spacing density for list items.
     * - 'compact': Tighter spacing for dense UIs
     * - 'balanced': Standard spacing
     * - 'spacious': Extra spacing for readability
     * @default 'balanced'
     */
    density?: ListDensity;
    /**
     * Whether to show dividers between list items.
     * @default false
     */
    hasDividers?: boolean;
    /**
     * Header content rendered above the list.
     * Semantically associated via aria-labelledby.
     */
    header?: ReactNode;
    /**
     * List marker style.
     * When 'decimal', renders an `<ol>`. Otherwise renders a `<ul>`.
     * @default 'none'
     */
    listStyle?: ListMarkerStyle;
    /**
     * Starting number for ordered lists (listStyle='decimal').
     * Sets the CSS counter to begin at this value.
     * @default 1
     */
    start?: number;
    /**
     * Test ID for testing frameworks.
     */
    'data-testid'?: string;
}
/**
 * A vertical list component for rendering collections of items.
 *
 * Renders semantic `<ul>` or `<ol>` elements with configurable density,
 * dividers, marker styles, and an optional header.
 *
 * @example
 * ```
 * <List>
 *   <ListItem label="Notifications" description="Manage your alerts" />
 *   <ListItem label="Privacy" description="Control your data" />
 * </List>
 * <List listStyle="decimal" density="compact">
 *   <ListItem label="First step" />
 *   <ListItem label="Second step" />
 * </List>
 * ```
 */
export declare function List({ children, density, hasDividers, header, listStyle, start, xstyle, className, style, 'data-testid': testId, ref, }: ListProps): import("react").JSX.Element;
export declare namespace List {
    var displayName: string;
}
//# sourceMappingURL=List.d.ts.map