import { ControlValueAccessor, FormGroup } from '@angular/forms';
import * as i0 from "@angular/core";
/** Possible input style variants */
export type InputVariantProps = 'primary' | 'secondary' | 'tertiary' | 'accent' | 'info' | 'success' | 'warning' | 'error' | null | undefined;
/** Possible input size variants */
export type InputSizeProps = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | null | undefined;
/** Configuration object for input styling */
export type InputProps = {
variant?: InputVariantProps;
size?: InputSizeProps;
};
/** Native HTML input types supported by the component */
type HTMLNativeInputType = 'text' | 'email' | 'number' | 'password' | 'file';
/**
* A customizable input component with validation, debouncing, and styling variants
*
* @remarks
* Implements ControlValueAccessor for seamless integration with Angular forms.
* Supports both template-driven and reactive forms, with automatic validation styling.
*
* @example
* ```html
*
*
* ```
*
* @example
* ```html
*
*
* ```
*/
export declare class InputComponent implements ControlValueAccessor {
/**
* Input style variant
* @defaultValue 'secondary'
*/
variant: import("@angular/core").InputSignal;
/**
* Input size variant
* @defaultValue 'md'
*/
size: import("@angular/core").InputSignal;
/**
* Label text displayed above the input
*/
label: import("@angular/core").InputSignal;
/**
* Whether to show optional indicator
* @defaultValue false
*/
showOptional: import("@angular/core").InputSignal;
/**
* Optional indicator text (translation key or literal)
* @defaultValue 'sdk.formFields.optional'
*/
optionalText: import("@angular/core").InputSignal;
/**
* HTML input type
* @defaultValue 'text'
*/
type: import("@angular/core").InputSignal;
/**
* HTML name attribute for the input
*/
name: import("@angular/core").InputSignal;
/**
* Input placeholder text
*/
placeholder: import("@angular/core").InputSignal;
/**
* Whether the input is read-only
* @defaultValue false
*/
readonly: import("@angular/core").InputSignal;
focus: import("@angular/core").InputSignal;
/**
* Whether to restrict input to numeric characters only
* @defaultValue false
*/
onlyNumbers: import("@angular/core").InputSignal;
/**
* Whether to use ghost (transparent) styling
* @defaultValue false
*/
ghost: import("@angular/core").InputSignal;
/**
* Two-way bindable input value
*/
value: import("@angular/core").ModelSignal;
/**
* Parent form group for reactive forms
*/
parentForm: import("@angular/core").InputSignal | null>;
/**
* Form control name for reactive forms
*/
formControlName: import("@angular/core").InputSignal;
private onControlChange;
private onControlTouch;
/**
* Whether the input is disabled
* @defaultValue false
*/
disabled: import("@angular/core").ModelSignal;
/**
* Stop event propagation for activation events
* @defaultValue false
*/
stopPropagation: import("@angular/core").InputSignal;
/**
* Event emitted on Enter keydown
*/
keyDownEnter: import("@angular/core").OutputEmitterRef;
/**
* Event emitted on activation (Enter)
*/
triggered: import("@angular/core").OutputEmitterRef;
/**
* Event emitted on click
*/
clicked: import("@angular/core").OutputEmitterRef;
/**
* Event emitted when input loses focus
*/
blurred: import("@angular/core").OutputEmitterRef;
/**
* Event emitted with debounced value changes
*/
valueDebounced: import("@angular/core").OutputEmitterRef;
/**
* Debounce time in milliseconds for value changes
* @defaultValue 500
*/
debounceTime: import("@angular/core").InputSignal;
private blurTrigger;
private debounceAction$;
private debounceTimeEffect;
private value$;
constructor();
/**
* @internal
* Computed base input classes
*/
componentClass: import("@angular/core").Signal;
/**
* @internal
* Computed error state classes
*/
errorClass: import("@angular/core").Signal;
/**
* @internal
* Computed success state classes
*/
successClass: import("@angular/core").Signal;
writeValue(obj: any): void;
registerOnChange(fn: any): void;
registerOnTouched(fn: any): void;
setDisabledState(isDisabled: boolean): void;
/**
* @internal
* Handles input value changes
*/
handleChange(): void;
/**
* @internal
* Handles click activation
*/
handleClick(event: MouseEvent): void;
/**
* @internal
* Handles Enter key press
*/
handleEnter(event: Event): void;
/**
* @internal
* Handles blur event
*/
handleBlur(): void;
/** @internal */
private formControl;
/** @internal */
private formControl$;
/** @internal */
private statusChanges$;
/** @internal */
private stateChanges$;
/** @internal */
private statusSignal;
/** @internal */
private stateSignal;
/**
* @internal
* Reactive validation class computation
*/
validationClass: import("@angular/core").Signal;
/**
* @internal
* Sets up debounced value changes
*/
private setupDebounce;
static ɵfac: i0.ɵɵFactoryDeclaration;
static ɵcmp: i0.ɵɵComponentDeclaration;
}
export {};