import { tv } from 'tailwind-variants'; import type { Environment } from '../useEnvironment'; type Slots = T extends { slots: infer S; } ? keyof S : T extends { base: infer B; } ? B extends any[] ? never : B extends object ? keyof B : never : never; type SVReturnType = Slots extends never ? string : { [K in Slots]: string; }; export declare const defineSV: (f: (environment: Environment) => T) => (environment: Environment) => T; type ConfigVariants = T extends { variants: infer V; } ? V : object; type VariantValue = T extends Record ? 'true' extends keyof T ? boolean : 'false' extends keyof T ? boolean : keyof T : never; export type VariantProps any> = { [K in keyof ConfigVariants>]?: VariantValue>[K]>; }; export declare const useSV: [0], "base">>(f: (environment: Environment) => T, props: any) => SVReturnType; export {};