/** * Shared utilities for directive processing (client and server). * * @packageDocumentation */ /** * Information about an assign conflict. */ export interface AssignConflict { key: string; directives: string[]; priorities: number[]; } /** * Result of resolving assigns from multiple directives. */ export interface ResolvedAssigns { /** The merged assign values (higher priority wins) */ values: Record; /** Warnings for different-priority conflicts */ warnings: string[]; } /** * Resolve assign values from multiple directives on the same element. * * @param directiveNames - Names of directives on the element * @throws Error if same-priority directives conflict on an assign key * @returns Resolved assigns and any warnings */ export declare function resolveAssigns(directiveNames: string[]): ResolvedAssigns; /** * Apply resolved assigns to a scope, logging any warnings. * * @param scope - The scope to apply assigns to * @param directiveNames - Names of directives on the element * @returns The scope with assigns applied */ export declare function applyAssigns(scope: Record, directiveNames: string[]): Record; /** * Check if a directive should create/use a scope based on its options. */ export declare function directiveNeedsScope(name: string): boolean; /** * Get directive options with defaults. */ export declare function getDirectiveOptions(name: string): import("./types.js").DirectiveOptions; /** * Get directive priority. */ export declare function getDirectivePriority(name: string): number;