import { Environment, SugaredRelativeSingleEntity } from '@contember/react-binding';
import { PureComponent, ReactElement, ReactNode } from 'react';
import { LabelMiddleware } from '@contember/react-binding';
export interface SideDimensionsProps extends SideDimensions.CommonDimensionProps {
    dimension?: string;
    staticOptions?: Array<Environment.Value>;
    children: ReactNode;
    alignChildren?: boolean;
}
declare class SideDimensions extends PureComponent<SideDimensionsProps> {
    static displayName: string;
    render(): import("react/jsx-runtime").JSX.Element;
    static staticRender(props: SideDimensionsProps, environment: Environment): ReactElement | null;
}
declare namespace SideDimensions {
    type ValuesMapWithLegacyLabelMiddleware = Environment.ValuesMapWithFactory & {
        labelMiddleware?: LabelMiddleware;
    };
    export interface CommonDimensionProps {
        hasOneField?: string | SugaredRelativeSingleEntity;
        variableName?: Environment.Name;
        variables?: ValuesMapWithLegacyLabelMiddleware | ((dimensionValue: Environment.Value) => ValuesMapWithLegacyLabelMiddleware);
        labelMiddleware?: LabelMiddleware;
    }
    export interface SingleDimensionProps extends CommonDimensionProps {
        children: ReactNode;
        environment: Environment;
        dimensionValue: Environment.Value;
        renderDimensionValue: boolean;
    }
    export class SingleDimension extends PureComponent<SingleDimensionProps> {
        static displayName: string;
        render(): import("react/jsx-runtime").JSX.Element;
        getLabelMiddleware(): LabelMiddleware | undefined;
        static staticRender(props: SingleDimensionProps, environment: Environment): ReactNode;
        static generateEnvironment(props: SingleDimensionProps, oldEnvironment: Environment): Environment;
    }
    export {};
}
export { SideDimensions };
//# sourceMappingURL=SideDimensions.d.ts.map