/// import type { TAction } from '../constants/action'; import type { Customizations, IConfig } from '../utils/config'; export declare type ContextProps = { config: IConfig; customizations?: Customizations; children?: React.ReactNode; }; export declare type Dispatch = (action: TAction) => void; export declare type GlobalState = { user: { data: { id?: string; email?: string | null; [key: string]: any; }; isLoading: boolean; }; auth: { access_token: string | null; refresh_token: string | null; app_id: string | null; init_data?: Record; is_verified_user?: boolean; }; app: { id?: string; icon?: string; icon_content_type?: string; config: AppConfig | null; schema: AppSchema | null; user_verification_field?: string; user_verification_fields?: string[]; }; config?: IConfig; }; declare type AppSchema = Record; export interface SchemaField { display_name: string; type: string; data_category: string; required: boolean; owned_by: string; user_visible: boolean; revoke_after: string; required_retention: string; collection_justification: string; opt_out_warning: string; } export interface AppConfig { customizations: { primary_color: string; }; default_user_id_format?: string; hub: { auth: { allow_unverified_users?: boolean; additional_fields: [ { name: string; type: string; label: string; placeholder?: string; options: [ { value: string; label: string; } ]; } ]; email: { from_address: string; image: string; }; show_app_icon: boolean; }; customizations: HubCustomizations; }; } export interface HubCustomizations { rounded_corners: boolean; primary_color: string; placement: 'bottom-left' | 'hidden'; offset_x: number; offset_y: number; property_overrides: Record; } export {};