import { CustomAvatarColorKey } from '../../components/display/utils/avatar_gradient_colors'; import type { AvatarType, AvatarUpdatePayload } from '../../hooks/use_conversation_avatar_update'; import type { ConversationResource } from '../../types'; import type { ImagePickerAsset } from '../../utils/native_adapters/image_picker'; export type { AvatarType }; export type AvatarTab = 'icon' | 'emoji' | 'upload'; export interface AvatarPickerState { activeTab: AvatarTab; selectedType: AvatarType | null; selectedKey: string | null; selectedColor: string; imagePreviewUri: string | null; imageAsset: ImagePickerAsset | null; isDirty: boolean; } export type AvatarPickerAction = { type: 'SELECT_TAB'; payload: AvatarTab; } | { type: 'SELECT_ICON'; payload: string; } | { type: 'SELECT_EMOJI'; payload: string; } | { type: 'SELECT_COLOR'; payload: CustomAvatarColorKey; } | { type: 'SET_IMAGE'; payload: ImagePickerAsset; } | { type: 'CLEAR'; }; export declare function avatarPickerReducer(state: AvatarPickerState, action: AvatarPickerAction): AvatarPickerState; export declare function initEmptyAvatarPickerState(): AvatarPickerState; export declare function initAvatarPickerState(conversation: Pick): AvatarPickerState; export declare function initAvatarPickerStateFromPayload(payload: AvatarUpdatePayload): AvatarPickerState; //# sourceMappingURL=avatar_picker_state.d.ts.map