import type { BreakoutMarkAttrs } from '@atlaskit/adf-schema'; import type { NodeType, Schema } from '@atlaskit/editor-prosemirror/model'; import type { BreakoutMode } from '../types/breakout'; import { mapBreakpointToLayoutMaxWidth } from '../ui/BaseTheme'; import { getBreakpoint } from '../ui/WidthProvider'; export declare const breakoutResizableNodes: string[]; export declare const getBreakoutResizableNodeTypes: (schema: Schema) => Set; /** * Variables required to construct a context for breakout ssr inline script. * * TODO: Clean this up after: https://product-fabric.atlassian.net/browse/ED-8942 * */ export type BreakoutConstsType = { calcBreakoutWidth: any; calcBreakoutWithCustomWidth: (breakoutConsts: BreakoutConstsType) => (mode: 'full-width' | 'wide', width: number | null, editorContainerWidth: number) => string; calcLineLength: (breakoutConsts: BreakoutConstsType) => () => number; calcWideWidth: (breakoutConsts: BreakoutConstsType) => (containerWidth?: number, maxWidth?: number, fallback?: string, padding?: number) => string; defaultLayoutWidth: number; fullWidthLayoutWidth: number; getBreakpoint: typeof getBreakpoint; mapBreakpointToLayoutMaxWidth: typeof mapBreakpointToLayoutMaxWidth; padding: number; wideLayoutWidth: number; wideScaleRatio: number; }; declare const breakoutConsts: BreakoutConstsType; export declare const absoluteBreakoutWidth: (layout: "full-width" | "wide" | string, containerWidth: number) => number; export { breakoutConsts }; export declare const calcWideWidth: (containerWidth?: number, maxWidth?: number, fallback?: string, padding?: number) => string; export declare const calcBreakoutWidth: any; export declare const calcBreakoutWithCustomWidth: (mode: 'full-width' | 'wide', width: number | null, editorContainerWidth: number) => string; export declare function calculateBreakoutStyles({ mode, widthStateLineLength, widthStateWidth, }: { mode: BreakoutMarkAttrs['mode']; /** * clientWidth of the content area in the editor (ie. EditorPlugin contentComponents). * Expected to be retrieved via `WidthState.width`. */ widthStateLineLength?: number; /** * offsetWidth of the content the editor is attached to. * Expected to be retrieved via `WidthState.lineLength`. */ widthStateWidth?: number; }): { display: string; justifyContent: string; marginLeft?: undefined; minWidth: number; transform: string; transition: string; type: 'line-length-unknown'; width: any; } | { display?: undefined; justifyContent?: undefined; marginLeft: string; minWidth: number; transform: string; transition: string; type: 'line-length-known'; width: any; }; export declare function calcBreakoutWidthPx(mode: BreakoutMarkAttrs['mode'], widthStateWidth?: number, padding?: number): number; export declare const getNextBreakoutMode: (currentMode?: BreakoutMode) => Exclude; export declare const getTitle: (layout?: BreakoutMode) => { id: string; defaultMessage: string; description: string; };