import { type PropType, type Ref } from 'vue';
import { type UseScrollSpyHeadingData, type UseScrollSpyOptions } from '@mantine-vue/hooks';
export type TableOfContentsStylesNames = 'root' | 'control';
export type TableOfContentsVariant = 'filled' | 'light' | 'none';
export interface InitialTableOfContentsData {
    depth: number;
    value: string;
    id?: string;
}
export declare const TableOfContents: import("../..").WithBoxProps<import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    color: {
        type: StringConstructor;
        default: undefined;
    };
    size: {
        type: PropType<string | number>;
        default: undefined;
    };
    autoContrast: {
        type: BooleanConstructor;
        default: undefined;
    };
    scrollSpyOptions: {
        type: PropType<UseScrollSpyOptions>;
        default: undefined;
    };
    initialData: {
        type: PropType<InitialTableOfContentsData[]>;
        default: undefined;
    };
    getControlProps: {
        type: PropType<(payload: {
            active: boolean;
            data: UseScrollSpyHeadingData;
        }) => Record<string, any>>;
        default: undefined;
    };
    minDepthToOffset: {
        type: NumberConstructor;
        default: undefined;
    };
    depthOffset: {
        type: PropType<string | number>;
        default: undefined;
    };
    radius: {
        type: PropType<string | number>;
        default: undefined;
    };
    reinitializeRef: {
        type: PropType<Ref<(() => void) | null>>;
        default: undefined;
    };
    variant: {
        type: PropType<TableOfContentsVariant>;
        default: undefined;
    };
    classNames: {
        type: (ObjectConstructor | FunctionConstructor)[];
        default: undefined;
    };
    styles: {
        type: (ObjectConstructor | FunctionConstructor)[];
        default: undefined;
    };
    vars: {
        type: (ObjectConstructor | FunctionConstructor)[];
        default: undefined;
    };
    unstyled: {
        type: BooleanConstructor;
        default: boolean;
    };
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
    [key: string]: any;
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    color: {
        type: StringConstructor;
        default: undefined;
    };
    size: {
        type: PropType<string | number>;
        default: undefined;
    };
    autoContrast: {
        type: BooleanConstructor;
        default: undefined;
    };
    scrollSpyOptions: {
        type: PropType<UseScrollSpyOptions>;
        default: undefined;
    };
    initialData: {
        type: PropType<InitialTableOfContentsData[]>;
        default: undefined;
    };
    getControlProps: {
        type: PropType<(payload: {
            active: boolean;
            data: UseScrollSpyHeadingData;
        }) => Record<string, any>>;
        default: undefined;
    };
    minDepthToOffset: {
        type: NumberConstructor;
        default: undefined;
    };
    depthOffset: {
        type: PropType<string | number>;
        default: undefined;
    };
    radius: {
        type: PropType<string | number>;
        default: undefined;
    };
    reinitializeRef: {
        type: PropType<Ref<(() => void) | null>>;
        default: undefined;
    };
    variant: {
        type: PropType<TableOfContentsVariant>;
        default: undefined;
    };
    classNames: {
        type: (ObjectConstructor | FunctionConstructor)[];
        default: undefined;
    };
    styles: {
        type: (ObjectConstructor | FunctionConstructor)[];
        default: undefined;
    };
    vars: {
        type: (ObjectConstructor | FunctionConstructor)[];
        default: undefined;
    };
    unstyled: {
        type: BooleanConstructor;
        default: boolean;
    };
}>> & Readonly<{}>, {
    size: string | number;
    radius: string | number;
    color: string;
    autoContrast: boolean;
    variant: TableOfContentsVariant;
    classNames: Function | Record<string, any>;
    styles: Function | Record<string, any>;
    vars: Function | Record<string, any>;
    unstyled: boolean;
    depthOffset: string | number;
    scrollSpyOptions: UseScrollSpyOptions;
    initialData: InitialTableOfContentsData[];
    getControlProps: (payload: {
        active: boolean;
        data: UseScrollSpyHeadingData;
    }) => Record<string, any>;
    minDepthToOffset: number;
    reinitializeRef: Ref<(() => void) | null, (() => void) | null>;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>>;
