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

import * as __beyond_dep_ns_0 from 'react';
import __beyond_dep_def_0 from 'react';
// button.tsx
declare namespace ns_0 {
  import React = __beyond_dep_def_0;
  import IIconButtonProps = ns_6.IIconButtonProps;
  export const IconButton: React.ForwardRefExoticComponent<Omit<IIconButtonProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
}


// icon.tsx
declare namespace ns_1 {
  /// <reference types="react" />
  import IIconProps = ns_6.IIconProps;
  export const Icon: (props: IIconProps) => JSX.Element;
}


// icons/html-attributes.ts
declare namespace ns_2 {
  /**
   * Filters the properties of an object to include only those that are recognized HTML attributes, with the
   * capability to explicitly exclude certain attributes even if they are valid. The function checks for standard
   * attributes defined in the `htmlAttributes` set, and dynamically accepts any properties that begin with 'aria-'
   * or 'data-'. It excludes any properties listed in the `exclusions` array, regardless of their validity as HTML attributes.
   *
   * @param {Record<string, any>} props - The object containing properties that may or may not correspond to valid HTML attributes.
   * @param {string[]} exclusions - Array of property names to be excluded from the returned object, even if they are valid HTML attributes.
   * @returns {Record<string, any>} A new object containing only the properties that are valid HTML attributes and not listed in exclusions.
   */
  export function getAttributes(props: Record<string, any>, exclusions?: string[]): Record<string, any>;
}


// icons/index.ts
declare namespace ns_3 {
  export const PRAGMATE_ICONS: any;
  export const register: (icons: any) => void;
}


// icons/list.ts
declare namespace ns_4 {
  export const GENERAL_ICONS: any;
}


// icons/media.ts
declare namespace ns_5 {
  export const MEDIA_ICONS: {
    pause: string;
    pauseCircleFilled: string;
    pauseCircleOutline: string;
    playCircle: string;
    play: string;
  };
}


// types/index.ts
declare namespace ns_6 {
  import React = __beyond_dep_def_0;
  import SVGAttributes = __beyond_dep_ns_0.SVGAttributes;
  import Ref = __beyond_dep_ns_0.Ref;
  import ImgHTMLAttributes = __beyond_dep_ns_0.ImgHTMLAttributes;
  export interface PuiIcon {
    icon?: string;
    viewBox?: SVGAttributes<SVGSVGElement>['viewBox'];
  }
  export interface IIconProps extends SVGAttributes<SVGSVGElement> {
    title?: string;
    icon?: string | PuiIcon;
    name?: string;
    src?: string;
    ref?: Ref<any>;
    className?: string;
    viewBox?: string;
  }
  export interface IIconButtonProps extends IIconProps {
    disabled?: boolean;
    onClick?: (event: any) => void;
    value?: string;
    id?: string;
    children?: React.ReactNode;
    navigate?: string;
    variant?: string;
    type?: 'button' | 'submit' | 'reset';
  }
  export interface IImageIconProps extends ImgHTMLAttributes<HTMLImageElement> {
    icon?: string | PuiIcon;
    name?: string;
  }
}


export import IconButton = ns_0.IconButton;
export import Icon = ns_1.Icon;
export import PRAGMATE_ICONS = ns_3.PRAGMATE_ICONS;
export import register = ns_3.register;

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