import * as React from 'react';
import { type StyledBlockProps } from '../block';
import type { FlexGridItemProps } from './types';
import type { Responsive, Scale } from '../block';
import type { StyleOverride } from '../helpers/overrides';
import type { Theme } from '../styles';
export declare const flexGridItemMediaQueryStyle: ({ $theme, flexGridColumnCount: colCount, flexGridColumnGap, flexGridRowGap, flexGridItemIndex: itemIndex, flexGridItemCount: itemCount, }: {
    $theme: Theme;
    flexGridColumnCount: number;
    flexGridColumnGap: Scale;
    flexGridRowGap: Scale;
    flexGridItemIndex: number;
    flexGridItemCount: number;
}) => Readonly<{
    [x: string]: any;
    width: `calc(${string} - .5px)`;
    marginBottom: any;
}>;
export declare function getResponsiveValue<T>(responsive?: Responsive<T>, i?: number): T | undefined;
export declare const flexGridItemStyle: ({ $flexGridColumnCount, $flexGridColumnGap, $flexGridRowGap, $flexGridItemIndex, $flexGridItemCount, $theme, }: {
    $flexGridColumnCount?: Responsive<number>;
    $flexGridColumnGap?: Responsive<Scale>;
    $flexGridRowGap?: Responsive<Scale>;
    $flexGridItemIndex?: number;
    $flexGridItemCount?: number;
    $theme: Theme;
}) => StyleOverride;
interface FlexGridItemComponentType<D extends React.ElementType> {
    <C extends React.ElementType = D>(props: FlexGridItemProps<C> & (React.ComponentProps<C> extends {
        ref?: infer R;
    } ? {
        ref?: R;
    } : {}) & Omit<StyledBlockProps & React.ComponentProps<C>, keyof FlexGridItemProps>): JSX.Element;
    displayName?: string;
}
declare const FlexGridItemComponent: FlexGridItemComponentType<"div">;
export default FlexGridItemComponent;
