import type { EmitsOptions } from 'vue'; import type { AlpineInstance, AlpineType, ComponentOptions, Data } from './types'; export type AlpineVM = Pick, '$name' | '$props' | '$attrs' | '$emit' | '$options' | '$emitsOptions' | '$onBeforeUnmount' | 'init' | 'destroy'>; export declare const defineComponent: (options: ComponentOptions) => ComponentOptions; export type RegisterComponentFn = (Alpine: AlpineType, options: ComponentOptions, name: string, factoryFn: ComponentFactoryFn) => void; export type ComponentFactoryFn = (...args: any[]) => AlpineVM; export declare const registerComponentFactory: (registerFn: RegisterComponentFn) => (Alpine: AlpineType, options: ComponentOptions) => void; export declare const registerComponent: (Alpine: AlpineType, options: ComponentOptions) => void;