export declare namespace AttributeHandlerTypes {
    type Callback<T = ElementRef> = (arg: T, arg2?: any) => void;
    interface ElementRef {
        element: HTMLElement;
        events?: Record<string, Function>;
    }
    interface Config {
        name: string;
        handler: (ref: ElementRef, oldValue: string | null, newValue: string | null) => void;
    }
    interface Props {
        callback: Callback;
        name?: string;
    }
}
export declare const CommonAttributeHandlers: {
    resize: (callback: (element: AttributeHandlerTypes.ElementRef) => void) => AttributeHandlerTypes.Config;
    visualShowHide: (options: {
        onShow?: (element: AttributeHandlerTypes.ElementRef) => void;
        onHide?: (element: AttributeHandlerTypes.ElementRef) => void;
    }) => AttributeHandlerTypes.Config[];
    visualToggle: (options: {
        onOpen?: (element: AttributeHandlerTypes.ElementRef) => void;
        onClose?: (element: AttributeHandlerTypes.ElementRef) => void;
    }) => AttributeHandlerTypes.Config[];
    accordion: () => AttributeHandlerTypes.Config[];
};
declare const _default: {
    combine: (...configs: AttributeHandlerTypes.Config[]) => AttributeHandlerTypes.Config[];
    observe: {
        resize: ({ callback, name, }: AttributeHandlerTypes.Props) => AttributeHandlerTypes.Config;
        stateOpen: ({ callback, name, }: AttributeHandlerTypes.Props) => AttributeHandlerTypes.Config;
        stateClosed: ({ callback, name, }: AttributeHandlerTypes.Props) => AttributeHandlerTypes.Config;
        visuallyHide: ({ callback, name, }: AttributeHandlerTypes.Props) => AttributeHandlerTypes.Config;
        visuallyOpen: ({ callback, name, }: AttributeHandlerTypes.Props) => AttributeHandlerTypes.Config;
        visuallyClosed: ({ callback, name, }: AttributeHandlerTypes.Props) => AttributeHandlerTypes.Config;
        visuallyPosition: ({ callback, name, }: AttributeHandlerTypes.Props) => AttributeHandlerTypes.Config;
        visuallyShow: ({ callback, name, }: AttributeHandlerTypes.Props) => AttributeHandlerTypes.Config;
    };
    common: {
        resize: (callback: (element: AttributeHandlerTypes.ElementRef) => void) => AttributeHandlerTypes.Config;
        visualShowHide: (options: {
            onShow?: (element: AttributeHandlerTypes.ElementRef) => void;
            onHide?: (element: AttributeHandlerTypes.ElementRef) => void;
        }) => AttributeHandlerTypes.Config[];
        visualToggle: (options: {
            onOpen?: (element: AttributeHandlerTypes.ElementRef) => void;
            onClose?: (element: AttributeHandlerTypes.ElementRef) => void;
        }) => AttributeHandlerTypes.Config[];
        accordion: () => AttributeHandlerTypes.Config[];
    };
};
export default _default;
//# sourceMappingURL=handler.d.ts.map