/************
Processor: ts
************/

import __beyond_dep_def_0 from 'react';
import * as __beyond_dep_ns_1 from 'pragmate-ui/base';
// accordion.tsx
declare namespace ns_0 {
  import React = __beyond_dep_def_0;
  import IAccordionContext = ns_5.IAccordionContext;
  import IAccordionItem = ns_5.IAccordionItem;
  export const AccordionContext: React.Context<IAccordionContext>;
  export const useAccordionContext: () => IAccordionContext;
  export function Header({
    disabled,
    children,
    index
  }: {
    disabled: any;
    children: any;
    index: any;
  }): React.JSX.Element;
  export function Item({
    disabled,
    children,
    title,
    index
  }: IAccordionItem): React.JSX.Element;
  export function Container({
    children,
    active
  }: {
    children: any;
    active?: number;
  }): React.JSX.Element;
  export const Accordion: {
    Header: typeof Header;
    Item: typeof Item;
    Container: typeof Container;
  };
}


// content.tsx
declare namespace ns_1 {
  import React = __beyond_dep_def_0;
  import IPUIProps = __beyond_dep_ns_1.IPUIProps;
  export function CollapsibleContent({
    className,
    children
  }: IPUIProps): React.JSX.Element;
}


// context.tsx
declare namespace ns_2 {
  import React = __beyond_dep_def_0;
  export interface ICollapsibleContext {
    open: boolean;
    setOpen: (open: boolean) => void;
    onChange: (open: boolean) => void;
  }
  export const CollapsibleContext: React.Context<any>;
  export const useCollapsibleContext: () => any;
}


// header.tsx
declare namespace ns_3 {
  /// <reference types="react" />
  import ICollapsibleHeader = ns_5.ICollapsibleHeader;
  export function CollapsibleHeader({
    children,
    className,
    toggleTitle
  }: ICollapsibleHeader): JSX.Element;
}


// index.tsx
declare namespace ns_4 {
  /// <reference types="react" />
  import IContainerProps = ns_5.IContainerProps;
  export function CollapsibleContainer({
    children,
    onToggle,
    open,
    className,
    toggleable,
    data
  }: Partial<IContainerProps>): JSX.Element;
}


// types.ts
declare namespace ns_5 {
  /// <reference types="react" />
  import IPUIProps = __beyond_dep_ns_1.IPUIProps;
  export interface IAccordionItem extends IPUIProps {
    disabled?: boolean;
    title?: string;
    index?: number;
  }
  export interface IAccordionContext {
    onChange?: (event: any) => void;
    opened?: number;
    setOpened?: (opened: number) => void;
  }
  export interface ICollapsibleHeader {
    children: React.ReactNode;
    className?: string;
    toggleTitle?: boolean;
  }
  export interface IContainerProps {
    children: React.ReactNode;
    className?: string;
    toggleable: boolean;
    open?: boolean;
    onToggle?: (open: boolean) => void;
    data?: any;
  }
}


export import Header = ns_0.Header;
export import Item = ns_0.Item;
export import Container = ns_0.Container;
export import Accordion = ns_0.Accordion;
export import CollapsibleContent = ns_1.CollapsibleContent;
export import CollapsibleHeader = ns_3.CollapsibleHeader;
export import CollapsibleContainer = ns_4.CollapsibleContainer;

export declare const hmr: {on: (event: string, listener: any) => void, off: (event: string, listener: any) => void };