/**
 * This is mainly a Wrapper, to build more easily HTML Elements
 *
 */
import React from 'react';
import { SkeletonMethods } from '../components/skeleton/SkeletonHelper';
import type { SkeletonShow } from '../components/skeleton/Skeleton';
import type { DynamicElement, SpacingProps } from '../shared/types';
export type ElementInternalProps = {
    /**
     * Defines the Element Type, like "div"
     */
    as: DynamicElement<unknown>;
};
export type ElementProps = {
    skeleton?: SkeletonShow;
    skeletonMethod?: SkeletonMethods;
    /**
     * As a string: replaces the default tag class `dnb-{TAG_NAME}` with a different class. Empty string does the same as default `undefined`.
     *
     * As a boolean: set it to `false` to disable the default tag class. `true` does the same as default `undefined`.
     *
     * Default: `undefined`
     */
    internalClass?: string | boolean;
    innerRef?: React.RefObject<HTMLElement> | React.ForwardedRef<unknown>;
    children?: React.ReactNode;
} & SpacingProps;
export type ElementAllProps = ElementProps & ElementInternalProps & Omit<React.HTMLProps<HTMLElement>, 'ref' | 'as'>;
export declare const defaultProps: {
    skeletonMethod: string;
};
declare const Element: React.ForwardRefExoticComponent<{
    skeleton?: SkeletonShow;
    skeletonMethod?: SkeletonMethods;
    /**
     * As a string: replaces the default tag class `dnb-{TAG_NAME}` with a different class. Empty string does the same as default `undefined`.
     *
     * As a boolean: set it to `false` to disable the default tag class. `true` does the same as default `undefined`.
     *
     * Default: `undefined`
     */
    internalClass?: string | boolean;
    innerRef?: React.RefObject<HTMLElement> | React.ForwardedRef<unknown>;
    children?: React.ReactNode;
} & import("../shared/types").SpacingElementProps & {
    space?: import("../shared/types").SpaceTypeAll;
    innerSpace?: import("../shared/types").SpaceTypeAll | import("../shared/types").SpaceTypeMedia;
} & ElementInternalProps & Omit<React.HTMLProps<HTMLElement>, "ref" | "as"> & React.RefAttributes<unknown>>;
export default Element;
