export interface PlumeriaReport { line: number; column: number; kind: string; hint: string; } export interface PlumeriaModule { binding: string; css: string; globalCss: string; keys: string[]; functions: Record; aliases: Record>; merges: Record; overrides: Record>; definitionOnly: boolean; reports: PlumeriaReport[]; } export interface PlumeriaComposition { parts: { binding: string; key: string; }[]; slots: { binding: string; key: string; }[][]; file: string; line: number; column: number; } export interface PlumeriaFolding { signature: string; parts: { binding: string; key: string; source?: string; }[]; } export interface PlumeriaForeign { text: string; values: Record; } export declare const compositionSignature: (parts: { target: string; className: string; }[]) => string; export interface ThemeExtraction { bindings: Record>; globalCss: string; cssByBinding: Record; reports: PlumeriaReport[]; } export interface StaticExtraction { bindings: Record>; reports: PlumeriaReport[]; } export interface AnimationExtraction { bindings: Record; keyframes: string[]; viewTransitions: string[]; globalCss: string; cssByBinding: Record; reports: PlumeriaReport[]; } export declare const __private: { propertyKey: (node: any) => string | undefined; memberPath: (node: any) => string[] | undefined; evaluate: (node: any, values: Map) => unknown; bindsElsewhere: (ast: any, name: string, declared: any) => boolean; }; export declare function extractPlumeriaThemes(source: string): ThemeExtraction; export declare function extractPlumeriaStatics(source: string, externalValues?: Record): StaticExtraction; export declare function extractPlumeriaAnimations(source: string, externalValues?: Record): AnimationExtraction; export declare function convertPlumeriaModule(source: string, externalValues?: Record, compositions?: PlumeriaComposition[], options?: { target?: string; foldings?: PlumeriaFolding[]; foreign?: Record; }): PlumeriaModule | null;