import { HackyCSSFlags } from "../../core/helpers/types";
import { CalendarNode, ComponentDefinitionMap } from "../types";
import { ChartNode, ComponentDefinition, CustomComponentInstance, DeviceType, IconPrimitive, ImagePrimitive, InputPrimitive, LayoutData, LoaderPrimitive, NodeType, Override, SizeData, StackPrimitive, TableBodyNode, TableHeadNode, TableNode, TableRowNode, TextareaPrimitive, TextPrimitive } from "../types";
import { SubframeStyling } from "./types";
export declare function getOrderedKeysForSubframeStyling(styling: SubframeStyling): Array<keyof SubframeStyling>;
export declare function getSubframeStylingForIsVisibleData(data: boolean, nodeType: NodeType["type"]): SubframeStyling;
/**
 * CSS for overrides
 */
export declare function getSubframeStylingForOverride(node: NodeType, override: Override, isDisabled: boolean, isRoot: boolean, componentDefinitions: ComponentDefinitionMap, deviceType: DeviceType, parentDirection: LayoutData["direction"] | null): SubframeStyling;
/**
 * Non-node related CSS
 */
export declare function getSubframeStylingForDisabledNode(): SubframeStyling;
export declare function getSubframeStylingForInteractiveDefinition(): SubframeStyling;
export declare function getSubframeStylingForTextNode(node: TextPrimitive, size: SizeData, parentDirection: LayoutData["direction"] | null): SubframeStyling;
export declare function getSubframeStylingForStackNode(node: StackPrimitive, size: SizeData, parentDirection: LayoutData["direction"] | null): SubframeStyling;
export declare function getSubframeStylingForIconNode(node: IconPrimitive): SubframeStyling;
export declare function getSubframeStylingForChartNode(node: ChartNode, size: SizeData, parentDirection: LayoutData["direction"] | null): SubframeStyling;
export declare function getSubframeStylingForCalendarNode(node: CalendarNode, size: SizeData, parentDirection: LayoutData["direction"] | null): SubframeStyling;
export declare function getSubframeStylingForLoaderNode(node: LoaderPrimitive): SubframeStyling;
export declare function getSubframeStylingForTableNode(node: TableNode, size: SizeData, parentDirection: LayoutData["direction"] | null): SubframeStyling;
export declare function getSubframeStylingForTableHeadNode(node: TableHeadNode): SubframeStyling;
export declare function getSubframeStylingForTableBodyNode(node: TableBodyNode): SubframeStyling;
export declare function getSubframeStylingForTableRowNode(node: TableRowNode): SubframeStyling;
export declare function getSubframeStylingForInputNode(node: InputPrimitive, size: SizeData, parentDirection: LayoutData["direction"] | null): SubframeStyling;
export declare function getSubframeStylingForTextareaNode(node: TextareaPrimitive, size: SizeData, parentDirection: LayoutData["direction"] | null): SubframeStyling;
export declare function getSubframeStylingForImageNode(node: ImagePrimitive, size: SizeData, parentDirection: LayoutData["direction"] | null): SubframeStyling;
export declare function getSubframeStylingForComponentInstanceNode(node: CustomComponentInstance, size: Partial<SizeData> | null, parentDirection: LayoutData["direction"] | null): SubframeStyling;
/**
 * Additional helpers for adding node styling
 */
export declare function getSubframeStylingForNode(node: NodeType, definition: ComponentDefinition, isRoot: boolean, componentDefinitions: ComponentDefinitionMap, deviceType: DeviceType, parentDirection: LayoutData["direction"] | null): SubframeStyling;
export declare function getAdditionalSubframeStylingForNode(node: NodeType, definition: ComponentDefinition): SubframeStyling;
/**
 * Helpers for simplifying Subframe styles
 */
export declare function cleanupNodeSubframeStylingForCodeExportOrRendering(node: NodeType, styling: SubframeStyling, { isRoot, isButton, isRadioGroupItem, isInput }: HackyCSSFlags): SubframeStyling;
//# sourceMappingURL=subframe-styling-helpers.d.ts.map