import { GitChangelogOptions, GitChangelogMarkdownSectionOptions } from '@nolebase/vitepress-plugin-git-changelog/vite/types';
import { PagePropertiesMarkdownSectionOptions } from '@nolebase/vitepress-plugin-page-properties/vite';
import { Plugin } from 'vite';

interface PresetVite extends Plugin {
    plugins: () => Plugin[];
}
interface PresetViteOptions {
    gitChangelog: false | {
        options: {
            gitChangelog: GitChangelogOptions;
            markdownSection?: GitChangelogMarkdownSectionOptions;
        };
    };
    pageProperties?: false | {
        options?: {
            markdownSection?: PagePropertiesMarkdownSectionOptions;
        };
    };
    thumbnailHashImages?: false;
}

declare function presetVite(options: PresetViteOptions): PresetVite;

export { presetVite };
