import { VariableTypes, PropTypes } from '../variables/types'; export declare const DEFINE_SPEC = "DEFINE_SPEC"; export interface SpecProperty { name: string; description?: string; type: PropTypes; default: VariableTypes; args: string[]; attribute: string; has: { value: boolean; func: boolean; }; } export interface SpecEvent { name: string; args: string[]; attribute: string; } export declare type DefineSpecProperty = Partial> & Required>; export declare type DefineSpecEvent = Partial> & Required>; export interface DefineSpec { name: string; properties: Record; events: Record; description?: string; } export interface Spec { name: string; description: string; properties: Record; events: Record; } export declare type SpecsState = Record; export interface CreateSpecAction { type: typeof DEFINE_SPEC; payload: Spec; } export declare type SpecActionTypes = CreateSpecAction;