import { DataSchema } from './DataSchema';
import { Authorizer } from './Authorizer';
import { FilterImplOptions } from './liquidjs/src/template/filter/filter-impl-options';
export declare class DropkiqEngine {
    authorizer: Authorizer;
    rawTextBody: string;
    rawLeftTextBody: string;
    rawRightTextBody: string;
    caretIndex: number;
    caretRow: number;
    caretColumn: number;
    schema: object;
    scope: object;
    licenseKey: string;
    optionsFromUI: object;
    context: object;
    result: object;
    dataSchema: DataSchema;
    allowEmptySchema: boolean;
    private suggestionFilter;
    private state;
    private caretTagFinder;
    private caretToken;
    private caretLiquidPosition;
    private options;
    private liquid;
    private tokenizer;
    private parser;
    private opts;
    private renderer;
    private tokens;
    private templates;
    constructor(rawTextBody: string, caretIndex: number, schema: object, context: object, scope: object, licenseKey?: string, optionsFromUI?: object);
    update(rawTextBody: string, caretIndex: number): object;
    updateScope(scope: object): object;
    registerFilter(name: string, filter: FilterImplOptions, template: string, selectionRange: Array<number>, hint?: string): void;
    private setTextBodyAndCaretPositionWithUpdate;
    private findResult;
    private renderedDocument;
    private setRowAndColumnFromIndex;
}
