import type {
    TextInputProps,
    StyleProp,
    ViewStyle
} from "react-native";
import type {
    MarkdownKeys
} from "../markdownViewer/type";

export type MarkdownEditorMode = "live" | "write" | "preview";

export type MarkdownEditorSpreadBehaviour = "baseline" | "stretch" | "free";

export type MarkdownDynamicStyles = {
    spreadBehaviour?: MarkdownEditorSpreadBehaviour;
    radiuses: NCoreUIKit.ActivePalette["radiuses"];
    borders: NCoreUIKit.ActivePalette["borders"];
    colors: NCoreUIKit.ActivePalette["colors"];
    spaces: NCoreUIKit.ActivePalette["spaces"];
};

interface IMarkdownEditorProps extends TextInputProps {
    variants?: Partial<Record<MarkdownKeys, keyof NCoreUIKit.Typography>>;
    spreadBehaviour?: MarkdownEditorSpreadBehaviour;
    toolbarContainerStyle?: StyleProp<ViewStyle>;
    defaultMode?: MarkdownEditorMode;
    isViewerResizable?: boolean;
    isEditorResizable?: boolean;
    initialValue?: string;
};

export type {
    IMarkdownEditorProps as default
};
