import { Root } from '../renderer'
import type React from 'react'
import type Slack from '@slack/bolt'
export declare class AppHomeRoot extends Root {
  client: Slack.webApi.WebClient
  userID: string
  private resolve?
  private reject?
  constructor(
    client: Slack.webApi.WebClient,
    userID: string,
    resolve?: (() => void) | undefined,
    reject?: ((error: unknown) => void) | undefined
  )
  publish(): Promise<void>
  handle: AppHomeHandle
}
export declare class AppHomeHandle {
  private root
  constructor(root: AppHomeRoot)
  get rendering(): boolean
  stop(behavior?: 'keep' | 'clear' | React.ReactNode): Promise<void>
}
export declare function userAppHome(
  app: Slack.App,
  userID: string,
  element: React.ReactNode
): Promise<AppHomeHandle>
