import type { Key, Ref } from 'react'; import type { Children, Container, HostContext, Props, Type, UpdatePayload } from './types'; export type InSimElementProps = Props & { ref?: Ref; key?: Key; shouldClearAllButtons?: boolean; isConnected?: boolean; }; export declare abstract class InSimElement { readonly id: number; parent: number; readonly type: Type; readonly children: Children; readonly context: HostContext; readonly container: Container; protected constructor(id: number, parent: number, type: Type, children: Children, context: HostContext, container: Container); abstract commitMount(props: Props): void; abstract commitUpdate(oldProps: Props, newProps: Props, updatePayload: NonNullable>): void; abstract detachDeletedInstance(): void; }