/**
 * @file Center.tsx
 * @input Uses React, StyleX for centering styles, Layout padding.stylex for spacing-scale padding
 * @output Exports Center component and CenterProps
 * @position Center component for centering children horizontally/vertically
 *
 * SYNC: When modified, update these files to stay in sync:
 * - /packages/core/src/Center/Center.doc.mjs
 * - /packages/core/src/Center/Center.test.tsx
 * - /apps/storybook/stories/Center.stories.tsx
 * - /packages/cli/assets/templates/blocks/components/Center/ (showcase blocks)
 */
import type { ReactNode } from 'react';
import type { BaseProps } from '../BaseProps';
import type { SizeValue, SpacingStep } from '../utils/types';
export type CenterAxis = 'both' | 'horizontal' | 'vertical';
export interface CenterProps extends BaseProps<HTMLDivElement> {
    /** Ref forwarded to the root element */
    ref?: React.Ref<HTMLDivElement>;
    /**
     * Center axis - which direction(s) to center.
     * - `both`: Center both horizontally and vertically (default)
     * - `horizontal`: Center horizontally only (justifyContent: center)
     * - `vertical`: Center vertically only (alignItems: center)
     * @default 'both'
     */
    axis?: CenterAxis;
    /**
     * Width of the container.
     * Numbers are treated as pixels, strings are used as-is (e.g., '100%').
     */
    width?: SizeValue;
    /**
     * Height of the container.
     * Numbers are treated as pixels, strings are used as-is (e.g., '100%').
     */
    height?: SizeValue;
    /**
     * Maximum width of the container.
     * Numbers are treated as pixels, strings are used as-is (e.g., '100%').
     */
    maxWidth?: SizeValue;
    /**
     * Minimum height of the container.
     * Numbers are treated as pixels, strings are used as-is (e.g., '100%').
     */
    minHeight?: SizeValue;
    /**
     * Inner padding on all sides, using the spacing scale.
     * Accepts numeric spacing steps: 0, 0.5, 1, 1.5, 2, 3, 4, 5, 6, 8, 10.
     *
     * Matches the `padding` prop on `Stack`, `Card`, `LayoutContent`, and `LayoutPanel`.
     */
    padding?: SpacingStep;
    /**
     * Inline (horizontal) padding, using the spacing scale.
     * Overrides `padding` on the inline axis when both are set.
     */
    paddingInline?: SpacingStep;
    /**
     * Block (vertical) padding, using the spacing scale.
     * Overrides `padding` on the block axis when both are set.
     */
    paddingBlock?: SpacingStep;
    /**
     * Whether to make the container inline-flex (useful for text/icons).
     * @default false
     */
    isInline?: boolean;
    /**
     * Content to render inside the center container.
     */
    children: ReactNode;
}
/**
 * Center component for centering children horizontally and/or vertically.
 *
 * Uses flexbox for centering. By default, centers on both axes.
 * Use the `axis` prop to center on only one axis.
 *
 * @example
 * ```
 * <Center width={300} height={200}>
 *   <Content />
 * </Center>
 * ```
 */
export declare function Center({ axis, width, height, maxWidth, minHeight, padding, paddingInline, paddingBlock, isInline, children, xstyle, className, style, ref, ...props }: CenterProps): import("react").JSX.Element;
export declare namespace Center {
    var displayName: string;
}
//# sourceMappingURL=Center.d.ts.map