import * as _$vue from "vue";
import { Component, VNode } from "vue";
import { RouteLocationNormalizedLoaded, Router } from "vue-router";
type __VLS_Props = {
  code: string;
  language?: string;
};
declare const __VLS_export$6: _$vue.DefineComponent<__VLS_Props, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
  language: string;
}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
declare const _default: typeof __VLS_export$6;
interface StoryConfig {
  component?: Component;
  description?: string;
  props?: Record<string, unknown>;
  slots?: Record<string, (() => VNode | VNode[]) | string>;
  title: string;
  wrapperClass?: string;
}
interface StoryGroup {
  description?: string;
  stories: StoryConfig[];
  title: string;
}
interface StoryConfigOptions {
  componentPrefix?: string;
}
interface Props$5 {
  group: StoryGroup;
  options?: StoryConfigOptions | undefined;
  showcaseProps?: Record<string, unknown>;
}
declare const __VLS_export$5: _$vue.DefineComponent<Props$5, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<Props$5> & Readonly<{}>, {
  options: StoryConfigOptions;
  showcaseProps: Record<string, unknown>;
}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
declare const _default$1: typeof __VLS_export$5;
interface Props$4 {
  options?: StoryConfigOptions | undefined;
  story: StoryConfig;
}
declare const __VLS_export$4: _$vue.DefineComponent<Props$4, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<Props$4> & Readonly<{}>, {
  options: StoryConfigOptions;
}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
declare const _default$2: typeof __VLS_export$4;
interface Props$3 {
  description?: string;
  title: string;
}
declare var __VLS_1$2: {};
type __VLS_Slots$3 = {} & {
  default?: (props: typeof __VLS_1$2) => any;
};
declare const __VLS_base$3: _$vue.DefineComponent<Props$3, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<Props$3> & Readonly<{}>, {}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
declare const __VLS_export$3: __VLS_WithSlots$3<typeof __VLS_base$3, __VLS_Slots$3>;
declare const _default$3: typeof __VLS_export$3;
type __VLS_WithSlots$3<T, S> = T & {
  new (): {
    $slots: S;
  };
};
interface Props$2 {
  code?: string | undefined;
  language?: string;
  title?: string | undefined;
}
declare var __VLS_6: {};
type __VLS_Slots$2 = {} & {
  default?: (props: typeof __VLS_6) => any;
};
declare const __VLS_base$2: _$vue.DefineComponent<Props$2, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<Props$2> & Readonly<{}>, {
  title: string;
  code: string;
  language: string;
}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
declare const __VLS_export$2: __VLS_WithSlots$2<typeof __VLS_base$2, __VLS_Slots$2>;
declare const _default$5: typeof __VLS_export$2;
type __VLS_WithSlots$2<T, S> = T & {
  new (): {
    $slots: S;
  };
};
interface Props$1 {
  center?: boolean;
  gap?: 'base' | 'lg' | 'sm' | 'xl' | 'xs';
  wrap?: boolean;
}
declare var __VLS_1$1: {};
type __VLS_Slots$1 = {} & {
  default?: (props: typeof __VLS_1$1) => any;
};
declare const __VLS_base$1: _$vue.DefineComponent<Props$1, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<Props$1> & Readonly<{}>, {
  center: boolean;
  gap: "base" | "lg" | "sm" | "xl" | "xs";
  wrap: boolean;
}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
declare const __VLS_export$1: __VLS_WithSlots$1<typeof __VLS_base$1, __VLS_Slots$1>;
declare const _default$4: typeof __VLS_export$1;
type __VLS_WithSlots$1<T, S> = T & {
  new (): {
    $slots: S;
  };
};
declare function generateCode(story: StoryConfig, options?: StoryConfigOptions): string;
declare function createStory(config: StoryConfig): StoryConfig;
declare function createStoryGroup(title: string, description: string, stories: StoryConfig[]): StoryGroup;
interface StoryDefinition {
  component: Component;
  description?: string;
  name: string;
}
interface Props {
  defaultStory?: string;
  stories: StoryDefinition[];
  useRouter?: {
    route: RouteLocationNormalizedLoaded;
    router: Router;
  };
}
declare var __VLS_1: {}, __VLS_3: {}, __VLS_5: {
    story: StoryDefinition | undefined;
  };
type __VLS_Slots = {} & {
  title?: (props: typeof __VLS_1) => any;
} & {
  title?: (props: typeof __VLS_3) => any;
} & {
  story?: (props: typeof __VLS_5) => any;
};
declare const __VLS_base: _$vue.DefineComponent<Props, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<Props> & Readonly<{}>, {
  defaultStory: string;
  useRouter: {
    route: RouteLocationNormalizedLoaded;
    router: Router;
  };
}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
declare const _default$6: typeof __VLS_export;
type __VLS_WithSlots<T, S> = T & {
  new (): {
    $slots: S;
  };
};
export { _default as StoryCodeBlock, type StoryConfig, type StoryConfigOptions, type StoryDefinition, type StoryGroup, _default$1 as StoryGroupRenderer, _default$2 as StoryRenderer, _default$3 as StorySection, _default$4 as StoryShowcase, _default$5 as StoryShowcaseItem, _default$6 as StoryViewer, createStory, createStoryGroup, generateCode };
//# sourceMappingURL=index.d.mts.map