import { type CSSObject } from '@emotion/serialize';
import { MarginBottomProperty, MarginLeftProperty, MarginRightProperty, MarginTopProperty } from 'csstype';
import { LengthData } from './length';
/** @see https://developer.mozilla.org/en-US/docs/Web/CSS/margin#constituent_properties */
export type MarginLonghandPropertyData = LengthData | 'auto';
/**
 * @see https://developer.mozilla.org/en-US/docs/Web/CSS/margin
 *
 * @todos
 * - Remove `null` from possible values
 * - Remove `undefined` from possible values and make fields optional
 */
export type MarginPropertyData = {
    marginTop: MarginLonghandPropertyData | MarginTopProperty<string | number> | null | undefined;
    marginRight: MarginLonghandPropertyData | MarginRightProperty<string | number> | null | undefined;
    marginBottom: MarginLonghandPropertyData | MarginBottomProperty<string | number> | null | undefined;
    marginLeft: MarginLonghandPropertyData | MarginLeftProperty<string | number> | null | undefined;
};
export declare function marginPropertyDataToStyle(data: MarginPropertyData, defaultValue?: MarginPropertyData): CSSObject;
//# sourceMappingURL=margin.d.ts.map