import { NodeProp, SyntaxNode } from "lezer-tree"; import { EditorState, Extension, Facet } from "@codemirror/next/state"; import { Line } from "@codemirror/next/text"; export declare const indentService: Facet<(context: IndentContext, pos: number) => number | null, readonly ((context: IndentContext, pos: number) => number | null)[]>; export declare const indentUnit: Facet; export declare function getIndentUnit(state: EditorState): number; export declare function indentString(state: EditorState, cols: number): string; export declare function getIndentation(context: IndentContext | EditorState, pos: number): number | null; export declare class IndentContext { readonly state: EditorState; unit: number; constructor(state: EditorState, options?: { overrideIndentation?: (pos: number) => number; simulateBreak?: number; simulateDoubleBreak?: boolean; }); textAfterPos(pos: number): string; column(pos: number): number; countColumn(line: string, pos: number): number; lineIndent(line: Line): number; } export declare const indentNodeProp: NodeProp<(context: TreeIndentContext) => number | null>; export declare class TreeIndentContext extends IndentContext { readonly pos: number; readonly node: SyntaxNode; get textAfter(): string; get baseIndent(): number; } export declare function delimitedIndent({ closing, align, units }: { closing: string; align?: boolean; units?: number; }): (context: TreeIndentContext) => number; export declare const flatIndent: (context: TreeIndentContext) => number; export declare function continuedIndent({ except, units }?: { except?: RegExp; units?: number; }): (context: TreeIndentContext) => number; export declare function indentOnInput(): Extension; //# sourceMappingURL=indent.d.ts.map