import { CompilerOptions, CompiledResult } from 'types/compiler'
import { SFCDescriptor } from './parseComponent'
export interface StartOfSourceMap {
file?: string
sourceRoot?: string
}
export interface RawSourceMap extends StartOfSourceMap {
version: string
sources: string[]
names: string[]
sourcesContent?: string[]
mappings: string
}
export interface TemplateCompiler {
parseComponent(source: string, options?: any): SFCDescriptor
compile(template: string, options: CompilerOptions): CompiledResult
ssrCompile(template: string, options: CompilerOptions): CompiledResult
}
export const enum BindingTypes {
DATA = 'data',
PROPS = 'props',
PROPS_ALIASED = 'props-aliased',
SETUP_LET = 'setup-let',
SETUP_CONST = 'setup-const',
SETUP_REACTIVE_CONST = 'setup-reactive-const',
SETUP_MAYBE_REF = 'setup-maybe-ref',
SETUP_REF = 'setup-ref',
OPTIONS = 'options'
}
export type BindingMetadata = {
[key: string]: BindingTypes | undefined
} & {
__isScriptSetup?: boolean
}