import type { TemplateFuncRawItem } from "../../../types";
export declare function mergeVueInnerLocIntoFileLoc(base: {
    start: {
        line: number;
        column: number;
    };
    end: {
        line: number;
        column: number;
    };
}, innerStart: {
    line: number;
    column: number;
}, innerEnd: {
    line: number;
    column: number;
}): [
    number,
    number,
    number,
    number
];
type VueTemplateLoc = {
    start: {
        line: number;
        column: number;
        offset?: number;
    };
    end: {
        line: number;
        column: number;
        offset?: number;
    };
    source?: string;
};
export declare function sliceVueTemplateSource(templateContent: string, loc: VueTemplateLoc): string;
export declare function vueLocToQuad(loc: {
    start: {
        line: number;
        column: number;
    };
    end: {
        line: number;
        column: number;
    };
}): [
    number,
    number,
    number,
    number
];
export declare function expandVueTemplateExprSlices(exprSource: string, directiveName: string): string[];
type CollectTemplateCallOpts = {
    fullOriginRaw?: string;
    positionQuad?: [
        number,
        number,
        number,
        number
    ];
    directiveName?: string;
};
export declare function collectCallsFromTemplateJsExpression(exprSource: string, baseLoc: {
    start: {
        line: number;
        column: number;
    };
    end: {
        line: number;
        column: number;
    };
}, rawItems: TemplateFuncRawItem[], opts?: CollectTemplateCallOpts): void;
export declare function collectTemplateFuncsFromVueExpressionNode(expr: any, rawItems: TemplateFuncRawItem[], templateContent: string, directiveName: string): void;
export {};
