type Awaitable<T> = T | Promise<T>;
interface ImportInfo {
    as?: string;
    name?: string;
    from: string;
}
type SideEffectsInfo = (ImportInfo | string)[] | ImportInfo | string | undefined;
interface ComponentInfo extends ImportInfo {
    sideEffects?: SideEffectsInfo;
}
type ComponentResolveResult = Awaitable<string | ComponentInfo | null | undefined | void>;
type ComponentResolverFunction = (name: string) => ComponentResolveResult;
interface ComponentResolverObject {
    type: 'component' | 'directive';
    resolve: ComponentResolverFunction;
}
type ComponentResolver = ComponentResolverFunction | ComponentResolverObject;
interface ResolverOptions {
    /**
     * import style css or sass with components
     *
     * @default 'css'
     */
    importStyle?: boolean | 'css' | 'sass';
    /**
     * use commonjs lib & source css or scss for ssr
     */
    ssr?: boolean;
    /**
     * specify vuesax-alpha version to load style
     *
     * @default installed version
     */
    version?: string;
    /**
     * auto import for directives
     *
     * @default true
     */
    directives?: boolean;
    /**
     * exclude component name, if match do not resolve the name
     */
    exclude?: RegExp;
    /**
     * a list of component names that have no styles, so resolving their styles file should be prevented
     */
    noStylesComponents?: string[];
}
declare function VuesaxAlphaResolver(options?: ResolverOptions): ComponentResolver[];

export { VuesaxAlphaResolver };
