import { ComponentNode, ComponentTypes } from '../types/canvas'; export declare const SCRIBBLE_CHILD_DEFAULTS: { readonly POSITION: { readonly TOP: "76px"; readonly LEFT: "16px"; }; readonly DIMENSIONS: { readonly DEFAULT_WIDTH: "800px"; readonly DEFAULT_HEIGHT: "300px"; readonly EMBEDDABLE_WIDTH: "400px"; readonly EMBEDDABLE_HEIGHT: "300px"; }; }; export interface ScribbleChildConfig { id: string; parentType?: ComponentTypes; style?: Record; data?: any; defaultWidth?: string; defaultHeight?: string; /** Whether to update component data with dimensions (needed for Embeddable) */ updateDataWithDimensions?: boolean; /** Custom style updates beyond the defaults */ customStyleUpdates?: Record; /** Whether to exclude height from style updates (for components like Text that should auto-size) */ excludeHeight?: boolean; } /** * Composable for handling scribble child component initialization and common functionality * Consolidates the handleAddedToScribble pattern used across multiple components */ export declare function useScribbleChild(config: ScribbleChildConfig): { isScribbleChild: import('vue').ComputedRef; handleAddedToScribble: (emit: (event: "style", style: Record, id?: string) => void) => void; componentNode: import('vue').ComputedRef | null>; createStyleUpdate: (updates?: Partial<{ backgroundColor?: string; backgroundAttachment?: import('../../../types/background').BackgroundAttachment; backgroundImage?: string | null; backgroundPositionX?: import('../../../types/background').BackgroundPositionX; backgroundPositionY?: import('../../../types/background').BackgroundPositionY; backgroundRepeat?: import('../../../types/background').BackgroundRepeat; backgroundSize?: import('../../../types/background').BackgroundSize; borderRadius?: import('./useCanvasTheme').ThemeBorderRadius; height?: string | null; left?: string; marginBottom?: string | null; padding?: import('./useCanvasTheme').ThemePadding; position?: "absolute" | "relative" | "static" | "fixed"; top?: string; width?: string; }>) => Record; }; /** * Utility function to get embeddable-specific configuration */ export declare function getEmbeddableScribbleConfig(id: string, parentType?: ComponentTypes, data?: any, style?: any): { id: string; parentType: ComponentTypes | undefined; style: any; data: any; defaultWidth: "400px"; defaultHeight: "300px"; updateDataWithDimensions: boolean; }; /** * Utility function to get text-specific configuration */ export declare function getTextScribbleConfig(id: string, parentType?: ComponentTypes, style?: any): { id: string; parentType: ComponentTypes | undefined; style: any; defaultWidth: any; excludeHeight: boolean; }; /** * Utility function to get multimedia-specific configuration with proportional dimensions */ export declare function getMultimediaScribbleConfig(id: string, parentType?: ComponentTypes, style?: any, calculateDimensions?: () => { width: number; height: number; }): { id: string; parentType: ComponentTypes | undefined; style: any; defaultWidth: string; defaultHeight: string; }; /** * Utility function to get dynamic data table-specific configuration */ export declare function getDynamicDataTableScribbleConfig(id: string, parentType?: ComponentTypes, style?: any): { id: string; parentType: ComponentTypes | undefined; style: any; defaultWidth: any; defaultHeight: any; };