import { InjectionToken } from '@angular/core';
/**
 * Interface for indicating an object as a form field that can be aggregated
 */
export interface FormFieldAggregatable {
    isValid: MsftSme.Func<boolean>;
    disabled: boolean;
    pending: boolean;
    dirty: boolean;
    touched: boolean;
}
/**
 * Interface for indicating an object that cna aggregate form fields
 */
export interface FormFieldAggregator {
    addFormField: MsftSme.Action1<FormFieldAggregatable>;
    removeFormField: MsftSme.Action1<FormFieldAggregatable>;
    updateStatus: MsftSme.Action;
}
/**
 * Injection token used to provide a {@link Layout} reference
 */
export declare const SME_FORM_FIELD_AGGREGATOR_PROVIDER: InjectionToken<FormFieldAggregator>;
