import { FormGroupDirective, NgControl, NgForm } from '@angular/forms';
import { ErrorStateMatcher } from '@angular/material/core';
import { Subject } from "rxjs";
/**
 * Class that tracks the error state of a component.
 * @docs-private
 */
export declare class ErrorStateTracker {
    _defaultMatcher: any;
    _parentFormGroup: any;
    _parentForm: any;
    _stateChanges: any;
    ngControl: any;
    errorState: any;
    matcher: any;
    constructor(_defaultMatcher: any, ngControl: any, _parentFormGroup: any, _parentForm: any, _stateChanges: any);
    /** Updates the error state based on the provided error state matcher. */
    updateErrorState(): void;
}
/** @docs-private */
export declare class FileInputBase {
    _defaultErrorStateMatcher: ErrorStateMatcher;
    _parentForm: NgForm;
    _parentFormGroup: FormGroupDirective;
    ngControl: NgControl;
    stateChanges: Subject<void>;
    constructor(_defaultErrorStateMatcher: ErrorStateMatcher, _parentForm: NgForm, _parentFormGroup: FormGroupDirective, ngControl: NgControl, stateChanges: Subject<void>);
}
/**
 * Allows to use a custom ErrorStateMatcher with the file-input component
 */
export declare const FileInputMixinBase: {
    new (...args: any[]): {
        [x: string]: any;
        /** Whether the component is in an error state. */
        errorState: any;
        /** An object used to control the error state of the component. */
        errorStateMatcher: any;
        /** Updates the error state based on the provided error state matcher. */
        updateErrorState(): void;
        _getTracker(): any;
    };
    [x: string]: any;
};
