import { IconType } from '@ws-ui/icons';
export type Omit<T, U> = Pick<T, Exclude<keyof T, keyof U>>;
export type ReplaceProps<Inner extends React.ElementType, P> = Omit<React.ComponentPropsWithRef<Inner>, P> & P;
export interface WithAsProps<As extends React.ElementType | string = React.ElementType> {
    /** You can use a custom element for this component */
    as?: As;
}
export interface RefForwardingComponent<T extends React.ElementType, P> {
    <As extends React.ElementType = T>(props: React.PropsWithChildren<ReplaceProps<As, WithAsProps<As> & P>>, context?: any): React.ReactElement | null;
    propTypes?: any;
    contextTypes?: any;
    displayName?: string;
}
export interface ToolbarIconProps<As extends React.ElementType | string = React.ElementType> {
    label: string;
    disabled?: boolean;
    disableHover?: boolean;
    Icon: IconType;
    iconClassname?: string;
    as?: As;
}
