import { AnyTheme, Interpolation, ThemedProps } from '../types'; declare const typographyVariants: readonly ["body", "title1", "title2", "title3", "title4", "title5", "title6", "largeBody", "smallBody", "monoBody", "monoSmallBody"]; type TypographyVariant = (typeof typographyVariants)[number]; type TypographyTitleVariant = Extract; interface TypographyParams { /** * Set the font-family to sans-serif or monospace based on current theme. */ family?: 'sansSerif' | 'monospace' | 'title'; /** * Set the size to a system-standard size. */ size?: 24 | 20 | 18 | 16 | 14 | 12; /** * Set the line-height to a system-standard size. */ lineHeight?: 'single' | 'tight' | 'snug' | 'comfortable' | 'relaxed' | 'spacious' | 'normal'; /** * Set the color to a system-standard color: e.g. `active` for `@splunk/themes/variables.contentColorActive`. */ color?: 'active' | 'default' | 'disabled' | 'inverted' | 'muted' | 'inherit'; /** * Set the font-weight to a system-standard value. */ weight?: 'light' | 'normal' | 'semiBold' | 'bold' | 'extraBold' | 'heavy'; /** * Remove all browser-default styles and apply theme-specific defaults. * This defaults to `true` if using a `variant`. */ withReset?: boolean; } /** * A mixin for styling text content using predefined typography variants * and/or customizing font-settings with system parameters: e.g. size, weight, font-family. * * The default variant is `body` and will be used if no variant or settings * are given: i.e. `typography()` or `typography({})`. * Variants have the reset applied by default. * * ##### Example * ```js * import styled from 'styled-components'; * import { typography } from '@splunk/themes/mixins'; * * const MyTitle = styled.h1` * ${typography('title1')}; * `; * * const MyCustomizedTitle = styled.h1` * ${typography('title1', { color: 'inverted' })}; * `; * * const CustomTitle = styled.h1` * ${typography({size: 56, weight: 'light', color: 'inverted' })}; * `; * ``` * @name typography * @kind function * @param {string} [variant] Use a predefined typography variant: * `'body'`, * `'title1'`, * `'title2'`, * `'title3'`, * `'title4'`, * `'title5'`, * `'title6'`, * `'largeBody'`, * `'smallBody'`, * `'monoBody'`, or * `'monoSmallBody'`, * @param {object} [typographyParams] Customize the font settings or element using system values for: `color`, `family`, `lineHeight`, `size`, `weight` and `withReset`. * @public */ declare function typography(): Interpolation; declare function typography(variant: TypographyVariant): Interpolation; declare function typography({ color, family, lineHeight, size, weight, withReset, }: TypographyParams): Interpolation; declare function typography(variant: TypographyVariant, additionalParams: TypographyParams): Interpolation; export default typography; export { typographyVariants, TypographyTitleVariant, TypographyVariant, TypographyParams };