// @flow
import type { Element } from 'react';
import type { ContainerProps } from '../../../mixins/container';
import type { TestingProps } from '../../../mixins/testing';
import type { AriaProps } from '../../../mixins/aria';

export type ExpanderProps = {|
  ...TestingProps,
  ...ContainerProps,
  ...AriaProps,
  headingComponent: Element<*>,
  headingComponentOpen?: Element<*>,
  isOpen?: boolean,
  onToggle?: (isOpen: boolean) => void,
  buttonStyles?: ?{ [string]: string },
|};

export type ExpanderContextType = {|
  toggleExpander: () => void,
|};
