
import type { PropType } from 'vue';
import type { FilterMatchArrayMultiple } from '../../composables/filter.js';
export declare const makeVHighlightProps: <Defaults extends {
    tag?: unknown;
    text?: unknown;
    query?: unknown;
    matches?: unknown;
    matchAll?: unknown;
    ignoreCase?: unknown;
    color?: unknown;
    opacity?: unknown;
    markClass?: unknown;
} = {}>(defaults?: Defaults | undefined) => {
    tag: unknown extends Defaults["tag"] ? Omit<{
        type: PropType<string | import("../../util/index.js").JSXComponent>;
        default: string;
    }, "default" | "type"> & {
        type: PropType<string | import("../../util/index.js").JSXComponent>;
        default: NonNullable<string | import("../../util/index.js").JSXComponent>;
    } : Omit<Omit<{
        type: PropType<string | import("../../util/index.js").JSXComponent>;
        default: string;
    }, "default" | "type"> & {
        type: PropType<string | import("../../util/index.js").JSXComponent>;
        default: NonNullable<string | import("../../util/index.js").JSXComponent>;
    }, "default" | "type"> & {
        type: PropType<unknown extends Defaults["tag"] ? string | import("../../util/index.js").JSXComponent : string | Defaults["tag"] | import("../../util/index.js").JSXComponent>;
        default: unknown extends Defaults["tag"] ? string | import("../../util/index.js").JSXComponent : Defaults["tag"] | NonNullable<string | import("../../util/index.js").JSXComponent>;
    };
    text: unknown extends Defaults["text"] ? {
        type: StringConstructor;
        default: string;
    } : Omit<{
        type: StringConstructor;
        default: string;
    }, "default" | "type"> & {
        type: PropType<unknown extends Defaults["text"] ? string : string | Defaults["text"]>;
        default: unknown extends Defaults["text"] ? string : string | Defaults["text"];
    };
    query: unknown extends Defaults["query"] ? PropType<string | string[]> : {
        type: PropType<unknown extends Defaults["query"] ? string | string[] : string | string[] | Defaults["query"]>;
        default: unknown extends Defaults["query"] ? string | string[] : Defaults["query"] | NonNullable<string | string[]>;
    };
    matches: unknown extends Defaults["matches"] ? PropType<FilterMatchArrayMultiple> : {
        type: PropType<unknown extends Defaults["matches"] ? FilterMatchArrayMultiple : FilterMatchArrayMultiple | Defaults["matches"]>;
        default: unknown extends Defaults["matches"] ? FilterMatchArrayMultiple : FilterMatchArrayMultiple | Defaults["matches"];
    };
    matchAll: unknown extends Defaults["matchAll"] ? BooleanConstructor : {
        type: PropType<unknown extends Defaults["matchAll"] ? boolean : boolean | Defaults["matchAll"]>;
        default: unknown extends Defaults["matchAll"] ? boolean : boolean | Defaults["matchAll"];
    };
    ignoreCase: unknown extends Defaults["ignoreCase"] ? BooleanConstructor : {
        type: PropType<unknown extends Defaults["ignoreCase"] ? boolean : boolean | Defaults["ignoreCase"]>;
        default: unknown extends Defaults["ignoreCase"] ? boolean : boolean | Defaults["ignoreCase"];
    };
    color: unknown extends Defaults["color"] ? StringConstructor : {
        type: PropType<unknown extends Defaults["color"] ? string : string | Defaults["color"]>;
        default: unknown extends Defaults["color"] ? string : string | Defaults["color"];
    };
    opacity: unknown extends Defaults["opacity"] ? (NumberConstructor | StringConstructor)[] : {
        type: PropType<unknown extends Defaults["opacity"] ? string | number : string | number | Defaults["opacity"]>;
        default: unknown extends Defaults["opacity"] ? string | number : Defaults["opacity"] | NonNullable<string | number>;
    };
    markClass: unknown extends Defaults["markClass"] ? StringConstructor : {
        type: PropType<unknown extends Defaults["markClass"] ? string : string | Defaults["markClass"]>;
        default: unknown extends Defaults["markClass"] ? string : string | Defaults["markClass"];
    };
};
export declare const VHighlight: {
    new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
        tag: Omit<{
            type: PropType<string | import("../../util/index.js").JSXComponent>;
            default: string;
        }, "default" | "type"> & {
            type: PropType<string | import("../../util/index.js").JSXComponent>;
            default: NonNullable<string | import("../../util/index.js").JSXComponent>;
        };
        text: {
            type: StringConstructor;
            default: string;
        };
        query: PropType<string | string[]>;
        matches: PropType<FilterMatchArrayMultiple>;
        matchAll: BooleanConstructor;
        ignoreCase: BooleanConstructor;
        color: StringConstructor;
        opacity: (NumberConstructor | StringConstructor)[];
        markClass: StringConstructor;
    }>>, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").PublicProps, {
        tag: string | import("../../util/index.js").JSXComponent;
        text: string;
        matchAll: boolean;
        ignoreCase: boolean;
    }, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly<import("vue").ExtractPropTypes<{
        tag: Omit<{
            type: PropType<string | import("../../util/index.js").JSXComponent>;
            default: string;
        }, "default" | "type"> & {
            type: PropType<string | import("../../util/index.js").JSXComponent>;
            default: NonNullable<string | import("../../util/index.js").JSXComponent>;
        };
        text: {
            type: StringConstructor;
            default: string;
        };
        query: PropType<string | string[]>;
        matches: PropType<FilterMatchArrayMultiple>;
        matchAll: BooleanConstructor;
        ignoreCase: BooleanConstructor;
        color: StringConstructor;
        opacity: (NumberConstructor | StringConstructor)[];
        markClass: StringConstructor;
    }>>, () => JSX.Element, {}, {}, {}, {
        tag: string | import("../../util/index.js").JSXComponent;
        text: string;
        matchAll: boolean;
        ignoreCase: boolean;
    }>;
    __isFragment?: never;
    __isTeleport?: never;
    __isSuspense?: never;
} & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
    tag: Omit<{
        type: PropType<string | import("../../util/index.js").JSXComponent>;
        default: string;
    }, "default" | "type"> & {
        type: PropType<string | import("../../util/index.js").JSXComponent>;
        default: NonNullable<string | import("../../util/index.js").JSXComponent>;
    };
    text: {
        type: StringConstructor;
        default: string;
    };
    query: PropType<string | string[]>;
    matches: PropType<FilterMatchArrayMultiple>;
    matchAll: BooleanConstructor;
    ignoreCase: BooleanConstructor;
    color: StringConstructor;
    opacity: (NumberConstructor | StringConstructor)[];
    markClass: StringConstructor;
}>>, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
    tag: string | import("../../util/index.js").JSXComponent;
    text: string;
    matchAll: boolean;
    ignoreCase: boolean;
}, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("../../util/index.js").FilterPropsOptions<{
    tag: Omit<{
        type: PropType<string | import("../../util/index.js").JSXComponent>;
        default: string;
    }, "default" | "type"> & {
        type: PropType<string | import("../../util/index.js").JSXComponent>;
        default: NonNullable<string | import("../../util/index.js").JSXComponent>;
    };
    text: {
        type: StringConstructor;
        default: string;
    };
    query: PropType<string | string[]>;
    matches: PropType<FilterMatchArrayMultiple>;
    matchAll: BooleanConstructor;
    ignoreCase: BooleanConstructor;
    color: StringConstructor;
    opacity: (NumberConstructor | StringConstructor)[];
    markClass: StringConstructor;
}, import("vue").ExtractPropTypes<{
    tag: Omit<{
        type: PropType<string | import("../../util/index.js").JSXComponent>;
        default: string;
    }, "default" | "type"> & {
        type: PropType<string | import("../../util/index.js").JSXComponent>;
        default: NonNullable<string | import("../../util/index.js").JSXComponent>;
    };
    text: {
        type: StringConstructor;
        default: string;
    };
    query: PropType<string | string[]>;
    matches: PropType<FilterMatchArrayMultiple>;
    matchAll: BooleanConstructor;
    ignoreCase: BooleanConstructor;
    color: StringConstructor;
    opacity: (NumberConstructor | StringConstructor)[];
    markClass: StringConstructor;
}>>;
export type VHighlight = InstanceType<typeof VHighlight>;
