import { FormControl } from '@angular/forms';
import { PromiseOr } from '@jscrpt/common';
/**
 * Defines control for specific property type
 */
export interface PropertyTypeControl<TValue = any> {
    /**
     * Form control that will handle value of property
     */
    control: FormControl<TValue | undefined | null> | undefined | null;
    /**
     * Array of available values/options for selection
     */
    values: TValue[];
    /**
     * Initialize component
     */
    initialize(): PromiseOr<void>;
    /**
     * Explicitly runs invalidation of content (change detection)
     */
    invalidateVisuals(): void;
}
//# sourceMappingURL=propertyTypeControl.interface.d.ts.map