import type { BlockAlignment, BlockBorder, BlockColor, BlockSizes } from '@devvit/protos/types/devvit/ui/block_kit/v1beta/attributes.js'; import type { Block, BlockConfig_Text } from '@devvit/protos/types/devvit/ui/block_kit/v1beta/block.js'; import { BlockAvatarFacing, BlockAvatarSize, BlockButtonAppearance, BlockButtonSize, BlockGap, BlockIconSize, BlockImageResizeMode, BlockPadding, BlockRadius, BlockSpacerShape, BlockSpacerSize, BlockStackDirection, BlockTextOutline, BlockTextSize, BlockTextWeight } from '@devvit/protos/types/devvit/ui/block_kit/v1beta/enums.js'; import type { ButtonAppearance } from '@reddit/faceplate-ui/templates/button.js'; import { ButtonSize } from '@reddit/faceplate-ui/templates/button.js'; import type { ClassInfo } from 'lit/directives/class-map.js'; import type { ref as clientRef } from 'lit/directives/ref.js'; import type { StyleInfo } from 'lit/directives/style-map.js'; import type { RenderContext } from './templates/renderContext.js'; export type AttributeOverrides = { styles?: StyleInfo | undefined; classes?: ClassInfo | undefined; }; export declare function defaultClasses(block: Block, ctx: RenderContext): ClassInfo; export declare function defaultStyles(block: Block, ctx: RenderContext, reverse?: boolean): StyleInfo; export declare function stackDirectionClass(direction: BlockStackDirection, reverse: boolean | undefined): ClassInfo; export declare function stackChildClass(parentDirection: BlockStackDirection): ClassInfo; export declare function sizingClass(sizing: BlockSizes | undefined): ClassInfo; export declare function sizingStyle(sizing: BlockSizes | undefined): StyleInfo; export declare function growWrapperSizingStyle(block: Block): StyleInfo; export declare function paddingClass(padding: BlockPadding | undefined): ClassInfo; export declare function alignmentClass(direction: BlockStackDirection, align: BlockAlignment | undefined, block: Block): ClassInfo; export declare function zstackAlignmentClass(align: BlockAlignment | undefined, sizes: BlockSizes): ClassInfo; export declare function backgroundClass(hasBgColor: boolean): ClassInfo; export declare function backgroundStyle(colors: BlockColor | undefined, legacyColor: string | undefined): StyleInfo; export declare function borderClass(border: BlockBorder | undefined): ClassInfo; export declare function borderStyle(border: BlockBorder | undefined): StyleInfo; export declare function radiusClass(radius: BlockRadius | undefined): ClassInfo; export declare function textSizeClass(size: BlockTextSize | undefined): ClassInfo; export declare function textAlignClass(alignment: BlockAlignment | undefined): ClassInfo; export declare function textWeightClass(weight: BlockTextWeight | undefined): ClassInfo; export declare function textSelectClass(selection: boolean | undefined): ClassInfo; export declare function textColorClass(): ClassInfo; export declare function textColorStyle(colors: BlockColor | undefined, legacyColor: string | undefined): StyleInfo; export declare function spacerSizeClass(size: BlockSpacerSize | undefined, shape: BlockSpacerShape | undefined, stackDirection: BlockStackDirection): ClassInfo; export declare function iconSizeClass(size: BlockIconSize | undefined): ClassInfo; export declare function avatarSizeClass(size: BlockAvatarSize | undefined): ClassInfo; export declare function facingClass(facing: BlockAvatarFacing | undefined): ClassInfo; export declare function buttonAppearance(appearance: BlockButtonAppearance | undefined): ButtonAppearance; export declare function buttonSize(size: BlockButtonSize | undefined): ButtonSize; export declare function cursorClass(block: Block): ClassInfo; export declare function pointerEventsClass(actionable: boolean): ClassInfo; export declare function onClickAction(block: Block, ctx: RenderContext): (() => void) | undefined; export declare function onWebViewAction(block: Block, ctx: RenderContext): ((ev: CustomEvent) => void) | undefined; export declare function setTextOutline(thickness: BlockTextOutline | undefined): ReturnType; export declare function textOverflowClass(config: BlockConfig_Text): ClassInfo; /** * Converts the BlockGap enum values to pixels */ export declare function gapSize(gap: BlockGap | undefined): number; /** * Applies the necessary styles for a stack to appropriately * measure available space for relatively sized child blocks */ export declare function stackGapStyle(stackDirection: BlockStackDirection, gap: BlockGap | undefined, padding: BlockPadding | undefined, childCount: number, reverse: boolean | undefined): StyleInfo; /** * Applies a relative offset in order to properly space a * child block within a stack that has gap. * If reverse, the offset is applied in the opposite direction. */ export declare function childGapStyle(ctx: RenderContext, reverse: boolean): StyleInfo; export declare function imageClasses(resizeMode: BlockImageResizeMode | undefined): ClassInfo; export declare function imageStyle(url: string, resizeMode: BlockImageResizeMode | undefined, imageWidth: number, imageHeight: number, canvasSize: BlockSizes | undefined): StyleInfo; //# sourceMappingURL=attributes.d.ts.map