import type { ExtractPropTypes, PropType } from 'vue';
import type { MaybeRef } from '@veno-ui/utils';
export declare const SHAPES: readonly ["tile", "rounded-sm", "rounded", "rounded-lg", "pill", "circle"];
export type ShapeProps = ExtractPropTypes<ReturnType<typeof makeShapeProps>>;
export declare const makeShapeProps: <Defaults extends {
    shape?: unknown;
} = {}>(defaults?: Defaults | undefined) => {
    shape: unknown extends Defaults["shape"] ? {
        type: PropType<"circle" | "tile" | "rounded-sm" | "rounded" | "rounded-lg" | "pill">;
        default: string;
    } : Omit<{
        type: PropType<"circle" | "tile" | "rounded-sm" | "rounded" | "rounded-lg" | "pill">;
        default: string;
    }, "type" | "default"> & {
        type: PropType<unknown extends Defaults["shape"] ? "circle" | "tile" | "rounded-sm" | "rounded" | "rounded-lg" | "pill" : NonNullable<"circle" | "tile" | "rounded-sm" | "rounded" | "rounded-lg" | "pill"> | Defaults["shape"]>;
        default: unknown extends Defaults["shape"] ? "circle" | "tile" | "rounded-sm" | "rounded" | "rounded-lg" | "pill" : NonNullable<"circle" | "tile" | "rounded-sm" | "rounded" | "rounded-lg" | "pill"> | Defaults["shape"];
    };
};
export declare function useShape(props: MaybeRef<ShapeProps>, name?: string): {
    shapeClasses: import("vue").ComputedRef<string | null>;
};
