import { EnterprisePropertyDefinition, EnterprisePropertyItemSettings } from "../../models";
import { IValidator } from "..";
export interface EnterprisePropertyComponentProps {
    property?: EnterprisePropertyDefinition;
}
export interface EnterprisePropertyEditProps<TSettings extends EnterprisePropertyItemSettings = EnterprisePropertyItemSettings> extends EnterprisePropertyComponentProps {
    disabled: boolean;
    disableAutofocus?: boolean;
    hideDetails?: boolean;
    dark?: boolean;
    required?: boolean;
    useValidator?: IValidator;
    settings?: TSettings;
    onValueChanged?: (value: any) => void;
    valueBind: {
        [propertyInternalName: string]: any;
    };
}
export interface EnterprisePropertyDisplayProps extends EnterprisePropertyComponentProps {
    valueBind: any;
    wrapWithParentContent?: (internalName: string, propertyContent: JSX.Element) => JSX.Element;
}
export interface EnterprisePropertySettingsProps extends EnterprisePropertyComponentProps {
    useValidator?: IValidator;
    disabled: boolean;
    dark?: boolean;
}
export interface EnterprisePropertyValueDefinitionProps {
    valueBind: any;
    onValueChanged: (model: any) => void;
    disabled: boolean;
}
