import { type BlocksConfig } from '@urbicon-ui/blocks'; /** * Resolve a slot's classes under the `unstyled` contract: default styling is * dropped entirely when `unstyled`, the consumer's slot classes always apply. * Components bind it as `const cls = (base, slot) => slotClass(unstyled, base, slot)` * so `unstyled` stays a per-call read (reactive) and call sites keep the * two-argument shape. Was a per-component clone. */ export declare function slotClass(unstyled: boolean, base: string, slot?: string): string; /** * Resolve a component's per-slot classes through the blocks provider cascade: * `` → the named `preset` → the instance's own * `slotClasses`, later sources winning per Tailwind bucket. Returns the * instance classes unchanged when no provider is mounted, so a component works * standalone. * * Call during component initialisation (it reads the provider context through * `getBlocksConfig()`), then read the result inside a `$derived`: * * ```ts * const blocksConfig = getBlocksConfig(); * const slotClasses = $derived( * resolveAuthSlotClasses(blocksConfig, 'LoginPage', preset, slotClassesProp) * ); * ``` */ export declare function resolveAuthSlotClasses(config: BlocksConfig | undefined, component: string, preset: string | undefined, instance: Partial> | undefined): Partial>;