import { ReactNode } from 'react';
import { IPublicApiSetters, IPublicTypeCustomView, IPublicTypeRegisteredSetter } from '@alilc/lowcode-types';
export declare function registerSetter(typeOrMaps: string | {
    [key: string]: IPublicTypeCustomView | IPublicTypeRegisteredSetter;
}, setter?: IPublicTypeCustomView | IPublicTypeRegisteredSetter): void;
export interface ISetters extends IPublicApiSetters {
}
export declare class Setters implements ISetters {
    readonly viewName: string;
    settersMap: Map<string, IPublicTypeRegisteredSetter & {
        type: string;
    }>;
    constructor(viewName?: string);
    getSetter: (type: string) => IPublicTypeRegisteredSetter | null;
    registerSetter: (typeOrMaps: string | {
        [key: string]: IPublicTypeCustomView | IPublicTypeRegisteredSetter;
    }, setter?: IPublicTypeCustomView | IPublicTypeRegisteredSetter) => void;
    getSettersMap: () => Map<string, IPublicTypeRegisteredSetter & {
        type: string;
    }>;
    createSetterContent: (setter: any, props: Record<string, any>) => ReactNode;
}
