export type TokenType = "punctuation" | "component" | "function" | "operator" | "property" | "variable" | "htmlTag" | "comment" | "keyword" | "keywordControl" | "punctuationTag" | "arrow" | "string" | "number" | "text";

export interface Token {
    type: TokenType;
    value: string;
}

export interface ICodeViewerDynamicStyleProps {
    typography: NCoreUIKit.ActivePalette["typography"];
    spaces: NCoreUIKit.ActivePalette["spaces"];
    colors: NCoreUIKit.ActivePalette["colors"];
    isLineNumberVisible?: boolean;
    isCollapsible?: boolean;
}

interface ICodeViewerProps {
    isLineNumberVisible?: boolean;
    autoFoldMaxLines?: number;
    isCollapsible?: boolean;
    autoFold?: boolean;
    language?: string;
    code: string;
}

export type {
    ICodeViewerProps as default
};
