import { DataAttribute } from "../../code-gen/code-gen-helpers";
import { ComponentDefinitions } from "../../redux/reducers/current-release/components";
import { BackgroundData, BorderToken, BorderValue, ColorToken, ComponentDefinition, CornerToken, DeviceType, FontToken, InteractionType, LayoutData, NodeType, Override, ShadowToken, SpacingToken, Token } from "../types";
import { SubframeStyling } from "./types";
/**
 * Token mapping from token id to Tailwind class
 */
export interface TailwindTokenMapping {
    colors: {
        [tokenId: string]: string;
    };
    corners: {
        [tokenId: string]: string;
    };
    shadows: {
        [tokenId: string]: string;
    };
    spacing: {
        [spacing: number]: string;
    };
    borders: {
        [tokenId: string]: BorderValue;
    };
    fonts: {
        [tokenId: string]: [string, string];
    };
}
export declare function generateTailwindTokenMapping({ colors, fonts, borders, corners, shadows, spacing, }: {
    colors: ColorToken[];
    fonts: FontToken[];
    borders: BorderToken[];
    corners: CornerToken[];
    shadows: ShadowToken[];
    spacing: SpacingToken[];
}): TailwindTokenMapping;
/**
 * Helpers
 */
export declare function generateTailwindTokenMap(tokens: Token[]): {
    [tokenId: string]: string;
};
/**
 * Property mapping
 */
export declare function getTailwindCSSForBackgroundData(tokenMapping: TailwindTokenMapping["colors"], data: BackgroundData | null): string[];
/**
 * CSS for nodes
 */
export declare function getTailwindCSSForNode(node: NodeType, tokenMapping: TailwindTokenMapping, definition: ComponentDefinition, isRoot: boolean, componentDefinitions: ComponentDefinitions): string[];
/**
 * CSS for overrides
 */
export declare function getTailwindCSSForOverride(tokenMapping: TailwindTokenMapping, baseNode: NodeType, override: Override, prefix: string | undefined, isDisabled: boolean, isRoot: boolean, parentDir?: LayoutData["direction"]): string[];
export declare function getTailwindGroupClass(definition: ComponentDefinition): string;
export declare function getTailwindPrefix(definition: ComponentDefinition, interactionType: InteractionType, deviceType: DeviceType, isRoot: boolean, dataAttrs: DataAttribute[]): string;
export declare function isBaseTailwindClass(className: string): boolean;
/**
 * Main helper for converting SubframeStyling to Tailwind CSS
 */
export declare function getTailwindCSSForSubframeStyling(styling: SubframeStyling, tokenMapping: TailwindTokenMapping): string[];
export declare function getTailwindSelectorForDataAttribute(dataAttribute: DataAttribute): string;
//# sourceMappingURL=tailwind-css-helpers.d.ts.map