import { ReblendTyping } from 'reblend-typing';
export declare class PropertyUtil {
    /**
     * Sets properties on the target component, updating attributes and handling special cases like events and style.
     *
     * @param {ReblendTyping.IAny} props - The properties to set.
     * @param {ReblendTyping.Component} to - The target component to apply the properties to.
     * @param {boolean} init - Whether this is an initial setting of properties.
     */
    static setProps<P, S>(props: ReblendTyping.IAny, to: ReblendTyping.Component<P, S>, init: boolean): Promise<void>;
    /**
     * Removes specified properties from the `to` component and removes the corresponding attributes.
     * If a property is to be removed using `setAttribute`, it will also be removed from `props`.
     *
     * @param {ReblendTyping.IAny} props - The properties to remove from the component.
     * @param {ReblendTyping.Component} to - The target component from which to remove the properties.
     */
    static removeProps<P, S>(props: ReblendTyping.IAny, to: ReblendTyping.Component<P, S>): void;
}
