import { Tree, SyntaxNode } from 'tree-sitter'; declare type WatchConfig = { handler?: string; deep?: string; immediate?: string; }; declare type ScanState = { lines?: string[]; scriptStartIdx?: number; scriptEndIdx?: number; scriptTs?: boolean; script?: string; templateStartIdx?: number; templateEndIdx?: number; templatePug?: boolean; }; declare type Config = { useSemis?: boolean; useDoubleQuotes?: boolean; }; declare type State = { scan: ScanState; tree?: Tree; config: Config; semi: string; quote: string; scriptPre: string; scriptPost: string; importNodes: SyntaxNode[]; hooks: { beforeCreate?: string; created?: string; beforeMount?: string; mounted?: string; beforeUpdate?: string; updated?: string; beforeDestroy?: string; destroyed?: string; errorCaptured?: string; }; components: Record; props: Record; propDefaultNodes: Record; refs: Record; computeds: Record; methods: Record; watchers: Record; filters: Record; directives: Record; using: { $attrs?: boolean; $el?: boolean; $emit?: boolean; $route?: boolean; $router?: boolean; $slots?: boolean; nextTick?: boolean; props?: boolean; emits: Set; provides: Set; injects: Record; }; nonRefs: Set; transformed?: string; }; declare function transformPath(sfcPath: string): State; declare function transform(sfc: string): State; export { transform, transformPath };