import '../../../../assert/js/assert.js';
import '../../../../globals.js';
import Constructor from '../../../../phet-core/js/types/Constructor.js';
import WithoutNull from '../../../../phet-core/js/types/WithoutNull.js';
import TEmitter from '../../../../axon/js/TEmitter.js';
declare const MARGIN_LAYOUT_CONFIGURABLE_OPTION_KEYS: string[];
export type MarginLayoutConfigurableOptions = {
    margin?: number | null;
    xMargin?: number | null;
    yMargin?: number | null;
    leftMargin?: number | null;
    rightMargin?: number | null;
    topMargin?: number | null;
    bottomMargin?: number | null;
    minContentWidth?: number | null;
    minContentHeight?: number | null;
    maxContentWidth?: number | null;
    maxContentHeight?: number | null;
};
export type ExternalMarginLayoutConfigurableOptions = WithoutNull<MarginLayoutConfigurableOptions, Exclude<keyof MarginLayoutConfigurableOptions, 'minContentWidth' | 'minContentHeight' | 'maxContentWidth' | 'maxContentHeight'>>;
export type TMarginLayoutConfigurable = {
    _leftMargin: number | null;
    _rightMargin: number | null;
    _topMargin: number | null;
    _bottomMargin: number | null;
    _minContentWidth: number | null;
    _minContentHeight: number | null;
    _maxContentWidth: number | null;
    _maxContentHeight: number | null;
    readonly changedEmitter: TEmitter;
    mutateConfigurable(options?: MarginLayoutConfigurableOptions): void;
    setConfigToBaseDefault(): void;
    setConfigToInherit(ignoreOptions?: MarginLayoutConfigurableOptions): void;
    leftMargin: number | null;
    rightMargin: number | null;
    topMargin: number | null;
    bottomMargin: number | null;
    xMargin: number | null;
    yMargin: number | null;
    margin: number | null;
    minContentWidth: number | null;
    minContentHeight: number | null;
    maxContentWidth: number | null;
    maxContentHeight: number | null;
};
declare const MarginLayoutConfigurable: <SuperType extends Constructor>(k: SuperType) => SuperType & Constructor<TMarginLayoutConfigurable>;
export default MarginLayoutConfigurable;
export { MARGIN_LAYOUT_CONFIGURABLE_OPTION_KEYS };
//# sourceMappingURL=MarginLayoutConfigurable.d.ts.map