import * as babel from '@babel/core';
import { AuthPluginOptions } from '.';
export declare const getNodeInfo: (path: babel.NodePath<babel.types.CallExpression>, t: typeof babel.types) => {
    callee: babel.types.Expression | babel.types.V8IntrinsicIdentifier;
    isProtected: boolean;
};
export declare const afterImports: (path: babel.NodePath<babel.types.CallExpression>, value: any) => void;
export declare const addMissingImports: (path: babel.NodePath<babel.types.CallExpression>, t: typeof babel.types, opts: AuthPluginOptions, args: ReturnType<typeof getArgs>) => void;
export declare const getProtectedContent: (t: typeof babel.types, args: ReturnType<typeof getArgs>) => babel.types.JSXElement;
export declare const appendRouteAction: (temp: typeof babel.template, path: babel.NodePath<babel.types.CallExpression>, t: typeof babel.types, opts: AuthPluginOptions, args: ReturnType<typeof getArgs>) => void;
export declare const getArgs: (path: babel.NodePath<babel.types.CallExpression>, t: typeof babel.types, opts: AuthPluginOptions) => {
    page: babel.types.ArrowFunctionExpression;
    fallBack: babel.types.JSXElement | undefined;
    redirectTo: string;
    reverse: boolean;
};
