import { Slots, VNode, RendererNode, RendererElement } from 'vue'; export declare enum Features { /** No features at all */ None = 0, /** * When used, this will allow us to use one of the render strategies. * * **The render strategies are:** * - **Unmount** _(Will unmount the component.)_ * - **Hidden** _(Will hide the component using the [hidden] attribute.)_ */ RenderStrategy = 1, /** * When used, this will allow the user of our component to be in control. This can be used when * you want to transition based on some state. */ Static = 2 } export declare enum RenderStrategy { Unmount = 0, Hidden = 1 } export declare function match(value: TValue, lookup: Record TReturnValue)>, ...args: any[]): TReturnValue; export declare function render({ visible, features, ourProps, theirProps, ...main }: { ourProps: Record; theirProps: Record; slot: Record; attrs: Record; slots: Slots; name: string; } & { features?: Features; visible?: boolean; }): VNode< RendererNode, RendererElement, { [key: string]: any; }> | VNode< RendererNode, RendererElement, { [key: string]: any; }>[] | null; export declare function compact>(object: T): {} & T; export declare function omit, Keys extends keyof T>(object: T, keysToOmit?: readonly Keys[]): Omit;