import * as React from 'react'; import { MenuItem } from '../menuitem'; import { IconType } from '../utils'; type SpeedDialDirectionType = 'up' | 'down' | 'left' | 'right' | 'up-left' | 'up-right' | 'down-left' | 'down-right'; type SpeedDialType = 'linear' | 'circle' | 'semi-circle' | 'quarter-circle'; type SpeedDialButtonTemplateType = React.ReactNode | ((options: SpeedDialButtonOptions) => React.ReactNode); interface SpeedDialButtonOptions { onClick?(event: React.MouseEvent): void; className: string; iconClassName: string; element: JSX.Element; props: SpeedDialProps; visible: boolean; } export interface SpeedDialProps extends Omit, HTMLDivElement>, 'ref'> { model?: MenuItem[]; visible?: boolean; direction?: SpeedDialDirectionType; transitionDelay?: number; type?: SpeedDialType; radius?: number; mask?: boolean; disabled?: boolean; hideOnClickOutside?: boolean; buttonStyle?: object; buttonClassName?: string; buttonTemplate?: SpeedDialButtonTemplateType; maskStyle?: object; maskClassName?: string; showIcon?: IconType; hideIcon?: IconType; rotateAnimation?: boolean; onVisibleChange?(visible: boolean): void; onClick?(event: React.MouseEvent): void; onShow?(): void; onHide?(): void; children?: React.ReactNode; } export declare class SpeedDial extends React.Component { public show(): void; public hide(): void; public getElement(): HTMLDivElement; }