import { DynamicContentStore, Identifier, Profile, Trait } from "../../../../flex-ui-core/src"; import * as React from "react"; import { TaskContextProps } from "../../../context"; import { IdentifierOption } from "../../Definitions"; /** * Properties of SearchListItem. * @typedef SearchListItem.SearchListItemProps * @property {Profile} [profile] - Profile object with customer data. * @property {React.MouseEventHandler} [onClick=undefined] - Action to open the profile view. * @property {"keyof Profile"} [titleKey=given_name] - Title of the profile listed for the given search, should be a key of the Profile object. * @property {"keyof Profile"} [avatarImageKey=profile_image_url] - URL of display picture of the profile listed for the given search, should be a key of Profile Object. */ export interface SearchListItemProps { profile: Profile; onClick: (profile: any) => void; titleKey: keyof Profile; avatarImageKey: keyof Profile; identifiers: Array | null; traits: Array | null; selectedIdentifier?: IdentifierOption | null; } /** * Properties of SearchListItem. * @typedef {SearchListItem.SearchListItemProps} SearchListItem.SearchListItemChildrenProps */ export interface SearchListItemChildrenProps extends TaskContextProps, SearchListItemProps { } /** * @private * @classdesc This is a container for profiles found for a valid search in the [Search View](SearchView). * Can be themed with `Theme.ProfileConnector.SearchListItem` in [Theme](Theme). * @component * @hideconstructor * @param {SearchListItem.SearchListItemProps} props - Properties to be passed to configure this component. * @category Components / Programmable * @subcategory Components * @example * import {SearchListItem } from "@twilio/flex-ui"; * */ export declare class SearchListItem extends React.PureComponent { static readonly displayName = "SearchListItem"; /** * Dynamic content store * @static * @type {DynamicContentStore} * @readonly * @example * import { SearchListItem } from "@twilio/flex-ui"; * const content = SearchListItem.Content; */ static readonly Content: DynamicContentStore; /** * Default properties * @static * @type {SearchListItem.SearchListItemProps} * @readonly * @example * import { SearchListItem } from "@twilio/flex-ui"; * const props = SearchListItem.defaultProps; * */ static readonly defaultProps: Partial; static updateAll(): void; render(): JSX.Element; } export declare const Connected: { new (props: Omit & { theme?: import("@emotion/react").Theme; } & { children?: React.ReactNode | undefined; }, keyof TaskContextProps> | Readonly & { theme?: import("@emotion/react").Theme; } & { children?: React.ReactNode | undefined; }, keyof TaskContextProps>>): { render(): JSX.Element; context: any; setState(state: {} | ((prevState: Readonly<{}>, props: Readonly & { theme?: import("@emotion/react").Theme; } & { children?: React.ReactNode | undefined; }, keyof TaskContextProps>>) => {} | Pick<{}, K>) | Pick<{}, K>, callback?: () => void): void; forceUpdate(callback?: () => void): void; readonly props: Readonly & { theme?: import("@emotion/react").Theme; } & { children?: React.ReactNode | undefined; }, keyof TaskContextProps>> & Readonly<{ children?: React.ReactNode | undefined; }>; state: Readonly<{}>; refs: { [key: string]: React.ReactInstance; }; componentDidMount?(): void; shouldComponentUpdate?(nextProps: Readonly & { theme?: import("@emotion/react").Theme; } & { children?: React.ReactNode | undefined; }, keyof TaskContextProps>>, nextState: Readonly<{}>, nextContext: any): boolean; componentWillUnmount?(): void; componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void; getSnapshotBeforeUpdate?(prevProps: Readonly & { theme?: import("@emotion/react").Theme; } & { children?: React.ReactNode | undefined; }, keyof TaskContextProps>>, prevState: Readonly<{}>): any; componentDidUpdate?(prevProps: Readonly & { theme?: import("@emotion/react").Theme; } & { children?: React.ReactNode | undefined; }, keyof TaskContextProps>>, prevState: Readonly<{}>, snapshot?: any): void; componentWillMount?(): void; UNSAFE_componentWillMount?(): void; componentWillReceiveProps?(nextProps: Readonly & { theme?: import("@emotion/react").Theme; } & { children?: React.ReactNode | undefined; }, keyof TaskContextProps>>, nextContext: any): void; UNSAFE_componentWillReceiveProps?(nextProps: Readonly & { theme?: import("@emotion/react").Theme; } & { children?: React.ReactNode | undefined; }, keyof TaskContextProps>>, nextContext: any): void; componentWillUpdate?(nextProps: Readonly & { theme?: import("@emotion/react").Theme; } & { children?: React.ReactNode | undefined; }, keyof TaskContextProps>>, nextState: Readonly<{}>, nextContext: any): void; UNSAFE_componentWillUpdate?(nextProps: Readonly & { theme?: import("@emotion/react").Theme; } & { children?: React.ReactNode | undefined; }, keyof TaskContextProps>>, nextState: Readonly<{}>, nextContext: any): void; }; new (props: Omit & { theme?: import("@emotion/react").Theme; } & { children?: React.ReactNode | undefined; }, keyof TaskContextProps>, context: any): { render(): JSX.Element; context: any; setState(state: {} | ((prevState: Readonly<{}>, props: Readonly & { theme?: import("@emotion/react").Theme; } & { children?: React.ReactNode | undefined; }, keyof TaskContextProps>>) => {} | Pick<{}, K>) | Pick<{}, K>, callback?: () => void): void; forceUpdate(callback?: () => void): void; readonly props: Readonly & { theme?: import("@emotion/react").Theme; } & { children?: React.ReactNode | undefined; }, keyof TaskContextProps>> & Readonly<{ children?: React.ReactNode | undefined; }>; state: Readonly<{}>; refs: { [key: string]: React.ReactInstance; }; componentDidMount?(): void; shouldComponentUpdate?(nextProps: Readonly & { theme?: import("@emotion/react").Theme; } & { children?: React.ReactNode | undefined; }, keyof TaskContextProps>>, nextState: Readonly<{}>, nextContext: any): boolean; componentWillUnmount?(): void; componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void; getSnapshotBeforeUpdate?(prevProps: Readonly & { theme?: import("@emotion/react").Theme; } & { children?: React.ReactNode | undefined; }, keyof TaskContextProps>>, prevState: Readonly<{}>): any; componentDidUpdate?(prevProps: Readonly & { theme?: import("@emotion/react").Theme; } & { children?: React.ReactNode | undefined; }, keyof TaskContextProps>>, prevState: Readonly<{}>, snapshot?: any): void; componentWillMount?(): void; UNSAFE_componentWillMount?(): void; componentWillReceiveProps?(nextProps: Readonly & { theme?: import("@emotion/react").Theme; } & { children?: React.ReactNode | undefined; }, keyof TaskContextProps>>, nextContext: any): void; UNSAFE_componentWillReceiveProps?(nextProps: Readonly & { theme?: import("@emotion/react").Theme; } & { children?: React.ReactNode | undefined; }, keyof TaskContextProps>>, nextContext: any): void; componentWillUpdate?(nextProps: Readonly & { theme?: import("@emotion/react").Theme; } & { children?: React.ReactNode | undefined; }, keyof TaskContextProps>>, nextState: Readonly<{}>, nextContext: any): void; UNSAFE_componentWillUpdate?(nextProps: Readonly & { theme?: import("@emotion/react").Theme; } & { children?: React.ReactNode | undefined; }, keyof TaskContextProps>>, nextState: Readonly<{}>, nextContext: any): void; }; readonly displayName: string; contextType?: React.Context | undefined; } & import("hoist-non-react-statics").NonReactStatics & { theme?: import("@emotion/react").Theme; }>, {}>;