import type { App, Component } from 'vue';
import type { HighlighterOptions } from './composables/highlighter';
import type { ThemeOptions } from './composables/theme';
import type { IconsOptions } from './composables/icons';
import type { DisplayOptions } from './composables/display';
import type { DefaultsOptions } from './composables/defaults';
export * from './composables';
export * from './resolver';
export interface VenoOptions {
    componentPrefix?: string;
    components?: Record<string, any>;
    directives?: Record<string, any>;
    providers?: Record<string, Component>;
    highlighter?: HighlighterOptions;
    defaults?: DefaultsOptions;
    theme?: ThemeOptions;
    icons?: IconsOptions;
    display?: DisplayOptions;
}
export declare const name: string;
export declare const version: string;
export declare const createVeno: (options?: VenoOptions) => {
    install: (app: App) => void;
    version: string;
};
//# sourceMappingURL=framework.d.ts.map

import type { ComponentPublicInstance, FunctionalComponent } from 'vue'
import type { VNodeChild } from 'vue'

declare global {
  namespace JSX {
    interface ElementChildrenAttribute {
      $children: any
    }
  }
}

declare module 'vue' {
  export type JSXComponent<Props = any> = { new (): ComponentPublicInstance<Props> } | FunctionalComponent<Props>
}

declare module '@vue/runtime-dom' {
  export interface HTMLAttributes {
    $children?: VNodeChild
  }

  export interface SVGAttributes {
    $children?: VNodeChild
  }
}
