import type { IAnyComplexType, IAnyModelType } from 'mobx-state-tree';
export interface ConfigSlotDefinition {
    description?: string;
    model?: IAnyModelType | IAnyComplexType;
    type: string;
    defaultValue: any;
    contextVariable?: string[];
}
export default function ConfigSlot(slotName: string, { description, model, type, defaultValue, contextVariable, }: ConfigSlotDefinition): import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IModelType<{
    name: import("mobx-state-tree").ISimpleType<string>;
    description: import("mobx-state-tree").ISimpleType<string>;
    type: import("mobx-state-tree").ISimpleType<string>;
    value: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ITypeUnion<any, any, any>, [undefined]>;
}, {
    contextVariable: string[];
} & {
    readonly isCallback: boolean;
} & {
    readonly expr: any;
    readonly valueJSON: any[] | Record<string, any> | string | undefined;
} & {
    set(newVal: any): void;
    reset(): void;
    convertToCallback(): void;
    convertToValue(): void;
}, import("mobx-state-tree").ModelCreationType<import("mobx-state-tree/dist/internal").ExtractCFromProps<{
    name: import("mobx-state-tree").ISimpleType<string>;
    description: import("mobx-state-tree").ISimpleType<string>;
    type: import("mobx-state-tree").ISimpleType<string>;
    value: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ITypeUnion<any, any, any>, [undefined]>;
}>>, any>, [undefined]>;
