import { ReactNode } from 'react';
import { ParamsType, SlotItemType, SlotTypeEnum } from './type';
export type ContextType = {
    [k in SlotTypeEnum]: SlotItemType;
};
export declare const defaultSlotConfig: ContextType;
export type SlotContextType = {
    registerSlot: (site: SlotTypeEnum, key: string, child: ReactNode, options: {
        start?: true;
        end?: true;
    }) => void;
    removeComponent: (site: SlotTypeEnum, key: string) => boolean;
    changeComponentVisible: (site: SlotTypeEnum, key: string, visible?: boolean) => void;
};
declare const SlotContext: import("react").Context<SlotContextType>;
export default SlotContext;
export declare enum SlotActionEnum {
    registerSlot = "registerSlot",
    removeComponent = "removeComponent",
    changeComponentVisible = "changeComponentVisible"
}
export declare function slotReducer(store: ContextType, action: {
    type: SlotActionEnum;
    payload: Partial<ParamsType>;
}): ContextType;
//# sourceMappingURL=slotContext.d.ts.map