import React, { ReactNode } from 'react'; type Sizes = 'small' | 'medium' | 'large' | 'xlarge'; export interface InputGroupProps { /** * Define an id for internal elements */ instanceId?: string; /** * The name of the input field */ name?: string; /** * The placeholder of the input field */ placeholder?: string; /** * The label text for the input field */ label?: string; /** * InputGroup size */ size?: Sizes; /** * The look of the component */ look?: 'primary' | 'hero' | 'faint'; /** * Data driven */ data?: { before?: { inputType: 'text' | 'button' | 'select'; data?: unknown[] | string; onClick?: (...args: unknown[]) => unknown; }; after?: { inputType: 'text' | 'button' | 'select'; data?: unknown[] | string; onClick?: (...args: unknown[]) => unknown; }; }; /** * Invalid input mode */ invalid?: boolean; /** * Aria Invalid input mode */ ariaInvalid?: boolean; /** * Disabled input mode */ disabled?: boolean; /** * Read only mode */ readOnly?: boolean; /** * Element before input */ before?: ReactNode; /** * Element after the input */ after?: ReactNode; /** * InputGroup children */ children?: React.ReactNode; /** * The override API */ overrides?: { InputGroup?: { styles?: (...args: unknown[]) => unknown; component?: React.ElementType; attributes?: (...args: unknown[]) => unknown; }; Text?: { styles?: (...args: unknown[]) => unknown; component?: React.ElementType; attributes?: (...args: unknown[]) => unknown; }; TextInput?: { styles?: (...args: unknown[]) => unknown; component?: React.ElementType; attributes?: (...args: unknown[]) => unknown; }; Select?: { styles?: (...args: unknown[]) => unknown; component?: React.ElementType; attributes?: (...args: unknown[]) => unknown; }; Button?: { styles?: (...args: unknown[]) => unknown; component?: React.ElementType; attributes?: (...args: unknown[]) => unknown; }; }; } export declare const InputGroup: React.ForwardRefExoticComponent>; export {};