/** @jsxImportSource solid-js */
import type { ValidComponent } from "solid-js";
import type { KlassOptions, ConditionSchema, ReklassOptions, ItFn, AsCondition } from "@klass/core";
import type { FinalVariantsSchema, KlassedComponent, ReklassedComponent } from "./types";
import type { PolymorphicComponentProp } from "./types/polymorphic";
/**
 *
 * @param element element
 * @param options klass options
 * @param config additional config
 * @returns klass component
 *
 * @see {@link https://klass.pages.dev/klass/solid.html#usage | klassed}
 */
declare function klassed<VC extends ValidComponent, VS extends FinalVariantsSchema>(element: VC, options: KlassOptions<VS>, config?: {
    /**
     * default props
     */
    dp?: PolymorphicComponentProp<VC, {}>;
    /**
     * it function
     */
    it?: ItFn;
}): KlassedComponent<VC, VS>;
/**
 *
 * @param element element
 * @param options reklass options
 * @param config additional config
 * @returns reklass component
 *
 * @see {@link https://klass.pages.dev/klass/solid.html#usage | reklassed}
 */
declare function reklassed<VC extends ValidComponent, CS extends ConditionSchema, VS extends FinalVariantsSchema>(element: VC, options: ReklassOptions<CS, VS>, config?: {
    /**
     * default props
     */
    dp?: PolymorphicComponentProp<VC, {}>;
    /**
     * condition as
     */
    as?: AsCondition;
    /**
     * it function
     */
    it?: ItFn;
}): ReklassedComponent<VC, CS, VS>;
export { klassed, reklassed };
