import * as CSS from "csstype"; import { ThemeScale } from "../create-theme-vars"; import type { CssTheme, Transform } from "./types"; type CSSProp = keyof CSS.Properties | (string & {}); type MaybeArray = T | T[]; type MaybeThemeFunction = T | ((theme: CssTheme) => T); type StringUnion = T | (string & {}); export interface PropConfig { /** * This is useful for props that need to leverage CSS variables * Static styles to append to the computed styles. * * It does not get replicated if value is responsive or styles are nested. */ static?: Record; /** * The theme scale this maps to */ scale?: ThemeScale; /** * Css property or Css variable the prop maps to */ property?: MaybeThemeFunction>>; /** * Function to transform the value passed */ transform?: Transform; /** * Useful for `layerStyle`, tex`tStyles and `apply` where their * transform function returns theme aware styles */ processResult?: boolean; } export type Config = Record; export declare function toConfig(scale: ThemeScale, transform?: Transform): (property: T | T[]) => PropConfig; interface Opts { scale?: ThemeScale; property: { ltr: MaybeArray; rtl: MaybeArray; }; transform?: Transform; } export declare function logical(options: Opts): PropConfig; export {};