import { StorybookConfig as StorybookConfig$1, CompatibleString } from 'storybook/internal/types';
import { StorybookConfigVite, BuilderOptions } from '@storybook/builder-vite';

type FrameworkName = CompatibleString<'@storybook/sveltekit'>;
type BuilderName = CompatibleString<'@storybook/builder-vite'>;
type FrameworkOptions = {
    builder?: BuilderOptions;
    /**
     * Enable or disable automatic documentation generation for component properties, events, and
     * slots. When disabled, Storybook will skip the docgen processing step during build, which can
     * improve build performance.
     *
     * @default true
     */
    docgen?: boolean;
};
type StorybookConfigFramework = {
    framework: FrameworkName | {
        name: FrameworkName;
        options: FrameworkOptions;
    };
    core?: StorybookConfig$1['core'] & {
        builder?: BuilderName | {
            name: BuilderName;
            options: BuilderOptions;
        };
    };
};
type StorybookConfig = Omit<StorybookConfig$1, keyof StorybookConfigVite | keyof StorybookConfigFramework> & StorybookConfigVite & StorybookConfigFramework;

declare function defineMain(config: StorybookConfig): StorybookConfig;

export { type StorybookConfig, defineMain };
