type CustomComponent = WechatMiniprogram.Component.Instance< Record, Record, Record, T > interface ComponentParentOption { parent: CustomComponent } interface ComponentChildrenOption { children: CustomComponent[] } type ComponentPropertyNumberType = { type: NumberConstructor observer?: (val: number) => void value?: number } type ComponentPropertyStringType = { type: StringConstructor observer?: (val: string) => void value?: string } type ComponentPropertyBooleanType = { type: BooleanConstructor observer?: (val: boolean) => void value?: boolean } type ComponentPropertyObjectType = { type: ObjectConstructor observer?: (val: object) => void value?: object } type ComponentPropertyArrayType = { type: ArrayConstructor observer?: (val: T) => void value?: T } type SidebarChangeEvent = WechatMiniprogram.CustomEvent<{ current: number }>