import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, OnDestroy, OnInit } from '@angular/core';
import { FormControl, FormGroup, FormGroupDirective, NgForm, ValidatorFn } from '@angular/forms';
import { ErrorStateMatcher } from '@angular/material/core';
import { MatFormFieldAppearance } from '@angular/material/form-field';
import { SdLabelDefDirective, SdSuffixDefDirective, SdViewDefDirective } from '@sd-angular/core/forms/directives';
import { ISdFormConfiguration, SdCustomValidator, SdFormControl } from '@sd-angular/core/forms/models';
import { SdSize } from '@sd-angular/core/utilities/models';
import { SdFormatNumberPipe } from '@sd-angular/core/pipes';
import { ISdCoreConfiguration } from '@sd-angular/core/configurations';
import * as i0 from "@angular/core";
declare class SdInputNumberErrotStateMatcher implements ErrorStateMatcher {
    private formControl;
    constructor(formControl: FormControl);
    isErrorState(control: FormControl | null, form: FormGroupDirective | NgForm | null): boolean;
}
export declare class SdInputNumber implements OnDestroy, OnInit, AfterViewInit {
    #private;
    private ref;
    private readonly coreConfiguration;
    private readonly formatNumberPipe;
    private formConfig;
    id: string;
    autoId?: string;
    set _autoId(val: string | undefined | null);
    set name(val: string | undefined);
    size: SdSize;
    set form(val: NgForm | FormGroup | undefined | null);
    label?: string;
    set _label(val: string | undefined);
    helperText?: string;
    set _helperText(val: string | undefined);
    placeholder?: string;
    hideInlineError: boolean;
    set _hideInlineError(val: boolean | '');
    set _blurOnEnter(val: boolean | '');
    set model(value: any);
    modelChange: EventEmitter<any>;
    required: boolean;
    set _required(val: boolean | '' | undefined | null);
    type?: 'negative' | 'positive';
    precision: number;
    readonly: boolean;
    set _readonly(val: boolean | '');
    min?: number;
    set _min(val: number | undefined | null);
    max?: number;
    set _max(val: number | undefined | null);
    set validator(validator: SdCustomValidator | undefined);
    inlineError?: string;
    set _inlineError(val: string);
    set disabled(val: boolean | '' | undefined | null);
    viewed: boolean;
    set _viewed(val: boolean | '' | undefined | null);
    hyperlink?: string | null;
    appearance: MatFormFieldAppearance;
    sdChange: EventEmitter<any>;
    sdFocus: EventEmitter<any>;
    sdBlur: EventEmitter<any>;
    sdFocusForceBlur: EventEmitter<any>;
    keyupEnter: EventEmitter<any>;
    control?: ElementRef;
    formControl: SdFormControl;
    inputControl: SdFormControl;
    matcher: SdInputNumberErrotStateMatcher;
    sdViewDef?: SdViewDefDirective;
    sdSuffixDef?: SdSuffixDefDirective;
    sdLabelDef?: SdLabelDefDirective;
    isFocused: boolean;
    constructor(ref: ChangeDetectorRef, coreConfiguration: ISdCoreConfiguration | undefined, formatNumberPipe: SdFormatNumberPipe, formConfig: ISdFormConfiguration);
    ngOnInit(): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    reValidate: () => void;
    customInlineErrorValidator(): ValidatorFn;
    onKeyupEnter: () => void;
    onKeydown: (event: KeyboardEvent) => void;
    onPaste(event: ClipboardEvent): void;
    onCompositionEnd(event: CompositionEvent): void;
    onCompositionStart(event: CompositionEvent): void;
    onFocus: () => void;
    onBlur: () => void;
    onClick: () => void;
    blur: () => void;
    focus: () => void;
    static ɵfac: i0.ɵɵFactoryDeclaration<SdInputNumber, [null, { optional: true; }, null, { optional: true; }]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<SdInputNumber, "sd-input-number", never, { "_autoId": { "alias": "autoId"; "required": false; }; "name": { "alias": "name"; "required": false; }; "size": { "alias": "size"; "required": false; }; "form": { "alias": "form"; "required": false; }; "_label": { "alias": "label"; "required": false; }; "_helperText": { "alias": "helperText"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "_hideInlineError": { "alias": "hideInlineError"; "required": false; }; "_blurOnEnter": { "alias": "blurOnEnter"; "required": false; }; "model": { "alias": "model"; "required": false; }; "_required": { "alias": "required"; "required": false; }; "type": { "alias": "type"; "required": false; }; "precision": { "alias": "precision"; "required": false; }; "_readonly": { "alias": "readonly"; "required": false; }; "_min": { "alias": "min"; "required": false; }; "_max": { "alias": "max"; "required": false; }; "validator": { "alias": "validator"; "required": false; }; "_inlineError": { "alias": "inlineError"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "_viewed": { "alias": "viewed"; "required": false; }; "hyperlink": { "alias": "hyperlink"; "required": false; }; "appearance": { "alias": "appearance"; "required": false; }; }, { "modelChange": "modelChange"; "sdChange": "sdChange"; "sdFocus": "sdFocus"; "sdBlur": "sdBlur"; "sdFocusForceBlur": "sdFocusForceBlur"; "keyupEnter": "keyupEnter"; }, ["sdViewDef", "sdSuffixDef", "sdLabelDef"], never, true, never>;
}
export {};
