///
import { CSSControlConfig } from "./css.template.control.standard.props";
export interface CSSControlPluginUtilitiesCommon {
/**
* Names of the CSS properties this plugin affects
*/
propertyNames: string[];
/**
* The id of this plugin
*/
id: string;
}
export interface CSSControlPluginUtilitiesProps extends CSSControlPluginUtilitiesCommon {
/**
* The control provided.
*/
control: (config: CSSControlConfig) => JSX.Element;
}
/**
* These are the plugin utilities for a CSS custom control.
*/
export default abstract class CSSControlPluginUtilities {
/**
* config are the configuration options supplied to the plugin at intialization,
* this including the control and any other user configurations
*/
config: C;
/**
* props are the properties for the control template component
* these are passed to the plugin via the Form
*/
props: CSSControlConfig;
constructor(config: C);
updateConfig(config: C): void;
updateProps(props: CSSControlConfig): void;
}