import { DataAttribute } from "../../code-gen/code-gen-helpers";
import { HackyCSSFlags } from "../../core/helpers/types";
import { NodeOverrides } from "../overrides-helpers";
import { AlignmentData, BackgroundData, BorderData, BorderToken, ChartNode, ColorToken, CornerData, CornerToken, FontAsset, FontStyle, FontToken, FontValue, IconPrimitive, ImagePrimitive, InputPrimitive, InteractionType, LayoutData, LoaderPrimitive, NodeId, NodeType, Override, PaddingData, ShadowData, ShadowToken, ShadowValueOrAlias, SizeDataWithParentDirection, StackPrimitive, TableBodyNode, TableHeadNode, TableNode, TableRowNode, TextareaPrimitive, TextPrimitive } from "../types";
import { SubframeStyling } from "./types";
export declare function getFontStyleForFontValue(value: FontValue, fontAssets: FontAsset[]): FontStyle;
export declare function replaceTokenIdsWithTokenNames(payload: string, { fontAssets, colorTokens, fontTokens, borderTokens, cornerTokens, shadowTokens, }: {
    fontAssets: FontAsset[];
    colorTokens: ColorToken[];
    fontTokens: FontToken[];
    borderTokens: BorderToken[];
    cornerTokens: CornerToken[];
    shadowTokens: ShadowToken[];
    darkModeEnabled?: boolean;
}): string;
export declare function generateCssVariablesCSS({ fontAssets, colorTokens, fontTokens, borderTokens, cornerTokens, shadowTokens, darkModeEnabled, }: {
    fontAssets: FontAsset[];
    colorTokens: ColorToken[];
    fontTokens: FontToken[];
    borderTokens: BorderToken[];
    cornerTokens: CornerToken[];
    shadowTokens: ShadowToken[];
    darkModeEnabled?: boolean;
}): string;
export declare function getShadowCSSValue(valueOrAlias: ShadowValueOrAlias): string;
/**
 * CSS selectors
 */
export declare function getPseudoSelector(overrideType: InteractionType): ":hover" | ":active" | ":focus-within" | "";
/**
 * CSS for overrides
 */
export declare function getStyledComponentsOverrideCSS(node: NodeType, resolvedOverrides: NodeOverrides<Override>, rootNodeId: NodeId, isDisabled: boolean, parentDirection?: LayoutData["direction"]): string;
/**
 * CSS generation for nodes rendered within Subframe itself (and not in the code export)
 */
export declare function getCSSForTextNode(node: TextPrimitive, sizeDataWithDirection: SizeDataWithParentDirection, hackyCSSFlags: HackyCSSFlags): string;
export declare function getCSSForStackNode(node: StackPrimitive, sizeDataWithDirection: SizeDataWithParentDirection, hackyCSSFlags: HackyCSSFlags): string;
export declare function getCSSForGridNode({ spacing, alignment, sizeDataWithDirection, padding, background, border, corner, shadow, columns, }: {
    spacing: LayoutData["spacing"];
    alignment: AlignmentData;
    sizeDataWithDirection: SizeDataWithParentDirection;
    padding: PaddingData;
    background: BackgroundData | null;
    border: BorderData | null;
    corner: CornerData | null;
    shadow: ShadowData | null;
    columns: number[];
}): string;
export declare function getCSSForIconNode(node: IconPrimitive, hackyCSSFlags: HackyCSSFlags): string;
export declare function getCSSForLoaderNode(node: LoaderPrimitive, hackyCSSFlags: HackyCSSFlags): string;
export declare function getCSSForInputNode(node: InputPrimitive, sizeDataWithDirection: SizeDataWithParentDirection, hackyCSSFlags: HackyCSSFlags): string;
export declare function getCSSForTextareaNode(node: TextareaPrimitive, sizeDataWithDirection: SizeDataWithParentDirection, hackyCSSFlags: HackyCSSFlags): string;
export declare function getCSSForImageNode(node: ImagePrimitive, sizeDataWithDirection: SizeDataWithParentDirection, hackyCSSFlags: HackyCSSFlags): string;
export declare function getCSSForTableNode(node: TableNode, sizeDataWithDirection: SizeDataWithParentDirection, hackyCSSFlags: HackyCSSFlags): string;
export declare function getCSSForTableHeadNode(node: TableHeadNode, hackyCSSFlags: HackyCSSFlags): string;
export declare function getCSSForTableBodyNode(node: TableBodyNode, hackyCSSFlags: HackyCSSFlags): string;
export declare function getCSSForTableRowNode(node: TableRowNode, hackyCSSFlags: HackyCSSFlags): string;
export declare function getCSSForChartNode(node: ChartNode, sizeDataWithDirection: SizeDataWithParentDirection, hackyCSSFlags: HackyCSSFlags): string;
export declare function getClassNameForSubframePreview(className?: string): string | undefined;
/**
 * Main helper for converting SubframeStyling to CSS
 */
export declare function getCSSForSubframeStyling(styling: SubframeStyling): string;
export declare function getCleanCSSForSubframeStyling(node: NodeType, styling: SubframeStyling, hackyCSSFlags: HackyCSSFlags): string;
export declare function getDataAttributeSelectorForDataAttribute(dataAttribute: DataAttribute): string;
//# sourceMappingURL=scss-helpers.d.ts.map