import type { CompilerError, SFCBlock, SFCParseOptions, SFCScriptBlock, SFCStyleBlock, SFCTemplateBlock } from '@vue/compiler-sfc';
export interface SFCParseResult {
    descriptor: SFCDescriptor;
    errors: Array<CompilerError | SyntaxError>;
}
export interface SFCDescriptor {
    script: SFCScriptBlock | null;
    scriptSetup: SFCScriptBlock | null;
    template: SFCTemplateBlock | null;
    styles: SFCStyleBlock[];
    customBlocks: SFCBlock[];
}
export declare type Parser = Pick<Required<SFCParseOptions>['compiler'], 'parse'>;
export declare function parse(source: string, compiler?: Parser): SFCParseResult;
//# sourceMappingURL=parse.d.ts.map