import * as _codemirror_state from '@codemirror/state';

interface IndentationMarkerConfiguration {
    /**
     * Determines whether active block marker is styled differently.
     */
    highlightActiveBlock?: boolean;
    /**
     * Determines whether markers in the first column are omitted.
     */
    hideFirstIndent?: boolean;
    /**
     * Determines the type of indentation marker.
     */
    markerType?: "fullScope" | "codeOnly";
    /**
     * Determines the thickness of marker (in pixels).
     */
    thickness?: number;
    /**
     * Determines the thickness of active marker (in pixels).
     *
     * If undefined or null, then regular thickness will be used.
     */
    activeThickness?: number;
    /**
     * Determines the color of marker.
     */
    colors?: {
        /**
         * Color of inactive indent markers when using a light theme.
         */
        light?: string;
        /**
         * Color of inactive indent markers when using a dark theme.
         */
        dark?: string;
        /**
         * Color of active indent markers when using a light theme.
         */
        activeLight?: string;
        /**
         * Color of active indent markers when using a dark theme.
         */
        activeDark?: string;
    };
}

declare function indentationMarkers(config?: IndentationMarkerConfiguration): _codemirror_state.Extension[];

export { indentationMarkers };
