import type { BlockColor, BlockSizes, BlockSizes_Dimension_Value } from '@devvit/protos/types/devvit/ui/block_kit/v1beta/attributes.js'; import type { Block } from '@devvit/protos/types/devvit/ui/block_kit/v1beta/block.js'; import { BlockSizeUnit, BlockStackDirection } from '@devvit/protos/types/devvit/ui/block_kit/v1beta/enums.js'; import type { UnsafeString } from '@reddit/baseplate/html/html.js'; import type { nothing, TemplateResult } from 'lit'; import type { DirectiveClass, DirectiveResult } from 'lit/directive.js'; import type { ClassInfo } from 'lit/directives/class-map.js'; import { classMap as clientClassMap } from 'lit/directives/class-map.js'; import type { RefOrCallback } from 'lit/directives/ref.js'; import { ref as clientRef } from 'lit/directives/ref.js'; import type { StyleInfo } from 'lit/directives/style-map.js'; export type TemplateLike = TemplateResult | typeof nothing; export declare function classMap(classInfo: ClassInfo, forceString?: boolean): string | ReturnType; export declare function unsafeHTML(input: string): DirectiveResult | UnsafeString; export declare function ref(ref: RefOrCallback): ReturnType | string; export declare function isHTMLElement(el: HTMLElement | Element | undefined): el is HTMLElement; export declare function resolveIcon(name: string): TemplateResult; /** * Strip semicolons from style values and remove null/undefined values * @param styleInfo */ export declare function sanitizeStyleInfo(styleInfo: StyleInfo): StyleInfo; /** * Returns a BlockSizes object either directly from the block or constructs * one from the legacy `size` field * @param block */ export declare function getSizes(block: Block): BlockSizes | undefined; export declare function parseDimension(value: BlockSizes_Dimension_Value | undefined, onlyType?: BlockSizeUnit | undefined): string | undefined; export declare function getSizeUnits(unit: BlockSizeUnit | undefined): string; /** * Extracts the light and dark colors from a BlockColor object with an optional * fallback on the original single color parameter. * Priority: * - Use the split light/dark colors if available * - If dark color is not available but light is, use light color for both * - If light and dark colors are not available try the legacy color (old apps) * @param colors BlockColor object * @param legacyColor Original color attribute before it was split into light/dark colors */ export declare function resolveColors(colors: BlockColor | undefined, legacyColor?: string | undefined): [light?: string | undefined, dark?: string | undefined]; export declare function getBlockStackType(direction: BlockStackDirection | undefined): string; //# sourceMappingURL=util.d.ts.map