/**
 * Custom CSS Validation Schemas
 *
 * Zod schemas for validating custom CSS rules.
 * Enforces security constraints by construction.
 */
import { z } from 'zod';
import type { ValidatedBlockCustomCssRule, ValidatedCustomCssRule } from './types';
/**
 * Validates a CSS selector for safety.
 */
export declare const selectorSchema: z.ZodString;
/**
 * Validates a CSS declaration value for safety.
 * Allows: url(#id), url(data:...), url(/path), var(--)
 * Forbids: url(http...), url(//...), javascript:
 */
export declare const declarationValueSchema: z.ZodString;
/**
 * Schema for CSS declarations object (property -> value map).
 */
export declare const declarationsSchema: z.ZodRecord<z.ZodString, z.ZodString>;
/**
 * Schema for a single custom CSS rule.
 */
export declare const customCssRuleSchema: z.ZodObject<{
    id: z.ZodString;
    selector: z.ZodString;
    declarations: z.ZodRecord<z.ZodString, z.ZodString>;
}, z.core.$strip>;
/**
 * Schema for block-specific CSS rule.
 */
export declare const blockCustomCssRuleSchema: z.ZodObject<{
    id: z.ZodString;
    selector: z.ZodString;
    declarations: z.ZodRecord<z.ZodString, z.ZodString>;
    blockKind: z.ZodString;
}, z.core.$strip>;
/**
 * Array of custom CSS rules for theme-level styling.
 */
export declare const customCssRulesSchema: z.ZodOptional<z.ZodArray<z.ZodObject<{
    id: z.ZodString;
    selector: z.ZodString;
    declarations: z.ZodRecord<z.ZodString, z.ZodString>;
}, z.core.$strip>>>;
/**
 * Array of block-specific CSS rules.
 */
export declare const blockCustomCssRulesSchema: z.ZodOptional<z.ZodArray<z.ZodObject<{
    id: z.ZodString;
    selector: z.ZodString;
    declarations: z.ZodRecord<z.ZodString, z.ZodString>;
    blockKind: z.ZodString;
}, z.core.$strip>>>;
export declare function parseCustomCssRule(rule: CustomCssRuleInput): ValidatedCustomCssRule;
export declare function parseCustomCssRules(rules: CustomCssRuleInput[] | undefined): ValidatedCustomCssRule[] | undefined;
export declare function parseBlockCustomCssRule(rule: BlockCustomCssRuleInput): ValidatedBlockCustomCssRule;
export declare function parseBlockCustomCssRules(rules: BlockCustomCssRuleInput[] | undefined): ValidatedBlockCustomCssRule[] | undefined;
export type CustomCssRuleInput = z.input<typeof customCssRuleSchema>;
export type BlockCustomCssRuleInput = z.input<typeof blockCustomCssRuleSchema>;
