import { IProps, ThemeGetter } from '@xstyled/styled-components';
import { ThemingProps, VuiTheme, VuiThemeExtensions } from '../theme';
import { AnyNumber, AnyString, Dict } from '../utils';
type VuiThemeGetter<ThemeKey extends keyof VuiTheme> = ThemeGetter<keyof VuiTheme[ThemeKey] | AnyString | AnyNumber>;
/** Type of the 'th' theme getter function. */
export type ThemeGet = {
    (path: string, defaultValue?: any): (props: IProps) => any;
    animation: VuiThemeGetter<'animations'>;
    borders: VuiThemeGetter<'borders'>;
    color: VuiThemeGetter<'colors'>;
    duration: VuiThemeGetter<'durations'>;
    font: VuiThemeGetter<'fonts'>;
    fontSize: VuiThemeGetter<'fontSizes'>;
    fontWeight: VuiThemeGetter<'fontWeights'>;
    radius: VuiThemeGetter<'radii'>;
    ringWidth: VuiThemeGetter<'ringWidths'>;
    screen: VuiThemeGetter<'screens'>;
    shadow: VuiThemeGetter<'shadows'>;
    size: VuiThemeGetter<'sizes'>;
    space: VuiThemeGetter<'spaces'>;
    transform: VuiThemeGetter<'transforms'>;
    transition: VuiThemeGetter<'transitions'>;
    zIndex: VuiThemeGetter<'zIndices'>;
};
/** Merges provided theme extensions and overrides with default VUI theme. */
export declare function extendTheme(extensions: VuiThemeExtensions): VuiTheme;
/** Removes specific theming keys from the given props. */
export declare function omitThemingProps<T extends ThemingProps>(props: T): Omit<T, "size" | "variant">;
/** Re-export of xstyled 'th' with custom typing and screen getter. */
declare const th: ThemeGet;
export { th };
/**
 * Combines baseStyle, size and variant styling from a component's theme configuration.
 * @param component - name of any component configured in the theme
 * @param props - props object of the given component
 */
export declare function useStyleConfig(component: keyof VuiTheme['components'], props?: any): Dict;
/** Returns theme value at the given path. */
export declare function useTh(path: keyof VuiTheme | AnyString, defaultValue?: any): any;
/** Returns the theme object with extensions. */
export declare function useTheme(): VuiTheme;
//# sourceMappingURL=theme.d.ts.map