import { LruCacher } from './cacher/lru-cacher';
import { useApKeepAliveInject } from './hook';
import { matches as isNameMatches } from './utils';
import { CreateComponentPublicInstanceWithMixins, ExtractPropTypes, PropType, VNode, RendererNode, RendererElement, ComponentOptionsMixin, PublicProps, GlobalComponents, GlobalDirectives, ComponentProvideOptions, ComponentOptionsBase, VNodeProps, AllowedComponentProps, ComponentCustomProps, Plugin } from 'vue';
import { CacheInterface, MatchPattern } from './interface';
export * from './interface';
declare const ApKeepAlive: {
    new (...args: any[]): CreateComponentPublicInstanceWithMixins<Readonly< ExtractPropTypes<{
        store: {
            type: PropType<CacheInterface>;
        };
        debug: {
            type: PropType<boolean>;
            default: boolean;
        };
        max: {
            type: PropType<number>;
            default: number;
        };
        exclude: {
            type: PropType<MatchPattern>;
        };
        include: {
            type: PropType<MatchPattern>;
        };
        stopTags: {
            type: PropType<string[]>;
            default: () => never[];
        };
    }>> & Readonly<{}>, () => VNode<RendererNode, RendererElement, {
        [key: string]: any;
    }>[] | undefined, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, PublicProps, {
        max: number;
        debug: boolean;
        stopTags: string[];
    }, true, {}, {}, GlobalComponents, GlobalDirectives, string, {}, any, ComponentProvideOptions, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly< ExtractPropTypes<{
        store: {
            type: PropType<CacheInterface>;
        };
        debug: {
            type: PropType<boolean>;
            default: boolean;
        };
        max: {
            type: PropType<number>;
            default: number;
        };
        exclude: {
            type: PropType<MatchPattern>;
        };
        include: {
            type: PropType<MatchPattern>;
        };
        stopTags: {
            type: PropType<string[]>;
            default: () => never[];
        };
    }>> & Readonly<{}>, () => VNode<RendererNode, RendererElement, {
        [key: string]: any;
    }>[] | undefined, {}, {}, {}, {
        max: number;
        debug: boolean;
        stopTags: string[];
    }>;
    __isFragment?: never;
    __isTeleport?: never;
    __isSuspense?: never;
} & ComponentOptionsBase<Readonly< ExtractPropTypes<{
    store: {
        type: PropType<CacheInterface>;
    };
    debug: {
        type: PropType<boolean>;
        default: boolean;
    };
    max: {
        type: PropType<number>;
        default: number;
    };
    exclude: {
        type: PropType<MatchPattern>;
    };
    include: {
        type: PropType<MatchPattern>;
    };
    stopTags: {
        type: PropType<string[]>;
        default: () => never[];
    };
}>> & Readonly<{}>, () => VNode<RendererNode, RendererElement, {
    [key: string]: any;
}>[] | undefined, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, {
    max: number;
    debug: boolean;
    stopTags: string[];
}, {}, string, {}, GlobalComponents, GlobalDirectives, string, ComponentProvideOptions> & VNodeProps & AllowedComponentProps & ComponentCustomProps & ( Plugin & (new (...args: any[]) => {
    $props: {
        onClick?: () => void;
    };
}));
export { ApKeepAlive, LruCacher, useApKeepAliveInject, isNameMatches };
