import { EventEmitter, ChangeDetectorRef, OnDestroy, AfterViewInit, ElementRef, OnInit } from '@angular/core';
import { NgForm, FormGroup, FormControl, FormGroupDirective } from '@angular/forms';
import { SdFormControl, SdSuffixDirective } from '@sd-angular/core/common';
import { SdViewDefDirective } from '@sd-angular/core/common';
import { IFormConfiguration } from '@sd-angular/core/common';
import { MatFormFieldAppearance } from '@angular/material/form-field';
import { ErrorStateMatcher } from '@angular/material/core';
import { SdLabelDefDirective } from '@sd-angular/core/common';
import { MatTooltip } from '@angular/material/tooltip';
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 formConfig;
    id: string;
    set name(val: string);
    size: 'sm' | 'lg';
    set form(val: NgForm | FormGroup);
    qcId: string;
    label: string;
    set _label(val: string);
    placeholder: string;
    disableErrorMessage: boolean;
    set _disableErrorMessage(val: boolean | '');
    set _blurOnEnter(val: boolean | '');
    set model(value: any);
    modelChange: EventEmitter<any>;
    isRequired: boolean;
    set required(val: boolean | '');
    type: 'negative' | 'positive';
    precision: number;
    isReadonly: boolean;
    set readonly(val: boolean | '');
    minNumber: number;
    set min(val: number);
    maxNumber: number;
    set max(val: number);
    set validator(validator: (value: any) => string | Promise<string>);
    set disabled(val: boolean | '');
    appearance: MatFormFieldAppearance;
    copyTooltip: MatTooltip;
    copyable: boolean;
    set _copyable(val: boolean | '');
    copied: boolean;
    sdChange: EventEmitter<any>;
    sdFocus: EventEmitter<any>;
    sdFocusForceBlur: EventEmitter<any>;
    keyupEnter: EventEmitter<any>;
    control: ElementRef;
    formControl: SdFormControl;
    inputControl: SdFormControl;
    matcher: SdInputNumberErrotStateMatcher;
    sdView: SdViewDefDirective;
    sdSuffix: SdSuffixDirective;
    sdLabelDef: SdLabelDefDirective;
    isFocused: boolean;
    constructor(ref: ChangeDetectorRef, formConfig: IFormConfiguration);
    ngOnInit(): void;
    private get regex();
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    reValidate: () => void;
    onKeyupEnter: () => void;
    onKeydown: (event: KeyboardEvent) => void;
    onPaste(event: ClipboardEvent): void;
    onFocus: () => void;
    onBlur: () => void;
    onClick: () => void;
    blur: () => void;
    focus: () => void;
    onCopyText(): void;
}
export {};
