import { Transition } from 'd3-transition'; import { BaseType, Selection } from 'd3-selection'; import { ValueFn } from 'd3'; import { StyleDeclaration } from '../types/style'; export declare function smartTransition(selection: Selection, duration?: number, easing?: (normalizedTime: number) => number): Selection$Transition; /** Applies an object of inline styles to every node of a selection, converting camelCase keys * to kebab-case. Keys applied on a previous call but absent from the current object (or set * to `null`/`undefined`) are removed, so per-datum styles clean up after themselves. * Keys listed in `skipKeys` are ignored — useful when a component manages some of them itself. */ export declare function applyInlineStyles(selection: Selection, getStyles: (d: Datum, i: number) => StyleDeclaration | null | undefined, skipKeys?: ReadonlySet): void; export interface VisAttrStylePatch { attr(name: string, value: null | string | number | boolean): this; attr(name: string, value: ValueFn): this; style(name: string, value: null): this; style(name: string, value: string | number | boolean, priority?: null | 'important'): this; style(name: string, value: ValueFn, priority?: null | 'important'): this; } export type Selection$Transition = (Transition | Selection) & VisAttrStylePatch;