/**
 * @file BaseProps.ts
 * @input None (pure type definitions)
 * @output Exports BaseProps — the shared base interface for all Astryx components
 * @position Type foundation; extended by all component prop interfaces
 *
 * Keeps: event handlers, aria-*, role, tabIndex, hidden, draggable, inert,
 * dir, className, style, id, xstyle, data-*.
 * Omits: title, contentEditable, and obscure/non-standard HTML attributes.
 */
import type React from 'react';
import type { StyleXStyles } from '@stylexjs/stylex';
/**
 * Base props shared by all Astryx components.
 *
 * Omits props that are footguns, deprecated, or irrelevant to component APIs.
 * Components that genuinely need an omitted prop can declare it explicitly.
 */
export interface BaseProps<T extends HTMLElement = HTMLElement> extends Omit<React.HTMLAttributes<T>, 'children' | 'title' | 'contentEditable' | 'dangerouslySetInnerHTML' | 'suppressContentEditableWarning' | 'suppressHydrationWarning' | 'accessKey' | 'autoCapitalize' | 'autoFocus' | 'contextMenu' | 'enterKeyHint' | 'lang' | 'nonce' | 'slot' | 'spellCheck' | 'translate' | 'radioGroup' | 'inputMode' | 'is' | 'about' | 'content' | 'datatype' | 'inlist' | 'prefix' | 'property' | 'rel' | 'resource' | 'rev' | 'typeof' | 'vocab' | 'autoCorrect' | 'autoSave' | 'color' | 'results' | 'security' | 'unselectable' | 'itemProp' | 'itemScope' | 'itemType' | 'itemID' | 'itemRef' | 'popover' | 'popoverTargetAction' | 'popoverTarget' | 'exportparts' | 'defaultChecked' | 'defaultValue'> {
    /**
     * StyleX styles created via `stylex.create()`. Merged with the component's
     * base styles inside a single `stylex.props()` call for optimal deduplication.
     *
     * @example
     * ```
     * const overrides = stylex.create({ root: { marginBottom: 8 } });
     * <Component xstyle={overrides.root} />
     * ```
     */
    xstyle?: StyleXStyles;
    /** Allow data-* attributes for telemetry, testing, integration hooks, and
     * Astryx component prop/state reflection (for example data-variant/data-size). */
    [key: `data-${string}`]: string | undefined;
}
//# sourceMappingURL=BaseProps.d.ts.map