@redacto.io/consent-sdk-react-native 4.0.0 → 5.0.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import React, { ReactNode } from 'react';
1
+ import * as React from 'react';
2
+ import React__default, { ReactNode } from 'react';
3
3
  import * as _tanstack_react_query from '@tanstack/react-query';
4
4
  import * as react_native from 'react-native';
5
5
  import { StyleProp, ViewStyle, TextStyle, KeyboardTypeOptions, DimensionValue, Animated } from 'react-native';
@@ -244,6 +244,7 @@ type UserConsent = {
244
244
  product_name?: string;
245
245
  product_description?: string | null;
246
246
  nominator_info?: NominatorInfo;
247
+ notice_uuid?: string | null;
247
248
  };
248
249
  type NominatorInfo = {
249
250
  org_user_id: string;
@@ -269,6 +270,7 @@ type PurposeItem = {
269
270
  method: string;
270
271
  data_elements: ConsentDataElement[];
271
272
  link_reason: string | null;
273
+ notice_uuid?: string | null;
272
274
  };
273
275
  type ConsentGroup = {
274
276
  product_uuid: string;
@@ -434,11 +436,13 @@ declare function NavigationProvider({ children, initialPage, initialPendingCaseU
434
436
  initialPage?: InternalPage;
435
437
  /** Deep-link target: resolve & open this case on first load (used with initialPage='case-details'). */
436
438
  initialPendingCaseUuid?: string | null;
437
- }): react_jsx_runtime.JSX.Element;
439
+ }): React.JSX.Element;
438
440
  declare function useInternalNavigation(): NavigationContextType;
439
441
 
440
442
  interface RedactoPrivacyCenterProps {
441
443
  baseUrl: string;
444
+ /** Go ledger base URL — serves user-consents; omit to use the legacy Python privacy-center consent endpoints. */
445
+ ledgerBaseUrl?: string;
442
446
  slug: string;
443
447
  /**
444
448
  * @deprecated The Privacy Center now themes itself from per-org branding.
@@ -453,30 +457,30 @@ interface RedactoPrivacyCenterProps {
453
457
  initialCaseUuid?: string;
454
458
  onBack?: 'back' | 'signout';
455
459
  }
456
- declare function RedactoPrivacyCenter({ baseUrl, slug, theme: _theme, accessToken, refreshToken, onError, initialPage, initialCaseUuid, onBack, }: RedactoPrivacyCenterProps): react_jsx_runtime.JSX.Element;
460
+ declare function RedactoPrivacyCenter({ baseUrl, ledgerBaseUrl, slug, theme: _theme, accessToken, refreshToken, onError, initialPage, initialCaseUuid, onBack, }: RedactoPrivacyCenterProps): React.JSX.Element;
457
461
 
458
- declare function ConsentManager(): react_jsx_runtime.JSX.Element;
462
+ declare function ConsentManager(): React__default.JSX.Element;
459
463
 
460
- declare function ActivitiesList(): react_jsx_runtime.JSX.Element;
464
+ declare function ActivitiesList(): React__default.JSX.Element;
461
465
 
462
466
  interface FormProps {
463
467
  onCreateRequest?: () => void;
464
468
  }
465
- declare function Form({ onCreateRequest }: FormProps): react_jsx_runtime.JSX.Element;
469
+ declare function Form({ onCreateRequest }: FormProps): React__default.JSX.Element;
466
470
 
467
- declare function FormPage(): react_jsx_runtime.JSX.Element;
471
+ declare function FormPage(): React__default.JSX.Element;
468
472
 
469
473
  interface CaseHistoryProps {
470
474
  onCreateRequest: () => void;
471
475
  }
472
- declare function CaseHistory({ onCreateRequest }: CaseHistoryProps): react_jsx_runtime.JSX.Element;
476
+ declare function CaseHistory({ onCreateRequest }: CaseHistoryProps): React__default.JSX.Element;
473
477
 
474
- declare function CaseDetailsPage(): react_jsx_runtime.JSX.Element;
478
+ declare function CaseDetailsPage(): React__default.JSX.Element;
475
479
 
476
480
  interface SideMenuProps {
477
481
  onBack?: 'back' | 'signout';
478
482
  }
479
- declare function SideMenu({ onBack }?: SideMenuProps): react_jsx_runtime.JSX.Element;
483
+ declare function SideMenu({ onBack }?: SideMenuProps): React__default.JSX.Element;
480
484
 
481
485
  type PageChromeMode = 'primary' | 'detail';
482
486
  declare const DETAIL_PAGES: readonly ["case-details", "notifications"];
@@ -503,7 +507,7 @@ interface NavbarProps {
503
507
  mode?: PageChromeMode;
504
508
  onBack?: 'back' | 'signout';
505
509
  }
506
- declare function Navbar({ mode, onBack }: NavbarProps): react_jsx_runtime.JSX.Element;
510
+ declare function Navbar({ mode, onBack }: NavbarProps): React__default.JSX.Element;
507
511
 
508
512
  type FooterProps = {
509
513
  /** Tighter vertical padding for embedding inside the menu sheet. */
@@ -514,12 +518,12 @@ type FooterProps = {
514
518
  * via branding.hide_platform_branding. Renders the Redacto logo (raster) next to
515
519
  * the localized "Powered by" label, mirroring the web Privacy Center footer.
516
520
  */
517
- declare function Footer({ inline }: FooterProps): react_jsx_runtime.JSX.Element | null;
521
+ declare function Footer({ inline }: FooterProps): React__default.JSX.Element | null;
518
522
 
519
523
  interface BottomTabBarProps {
520
524
  showFooter?: boolean;
521
525
  }
522
- declare function BottomTabBar({ showFooter }: BottomTabBarProps): react_jsx_runtime.JSX.Element;
526
+ declare function BottomTabBar({ showFooter }: BottomTabBarProps): React__default.JSX.Element;
523
527
 
524
528
  /**
525
529
  * Options for apiFetch function
@@ -550,9 +554,14 @@ type BaseRequest = {
550
554
  /**
551
555
  * Consent service client factory.
552
556
  * Creates a client instance with a specific base URL.
553
- * @param baseUrl - Consent server base URL
557
+ * @param baseUrl - Consent server base URL (Python service, e.g. http://host/consent)
558
+ * @param ledgerBaseUrl - Go ledger base URL (e.g. http://host:8090/consent-ledger).
559
+ * Used for user-consents reads/writes served from the ledger's `/public/...` paths.
560
+ * When omitted, those calls fall back to the legacy Python
561
+ * `/dsar/privacy-center` endpoints and payloads (pre-ledger behavior), so
562
+ * integrations without a deployed ledger keep working.
554
563
  */
555
- declare function createConsentClient(baseUrl: string): {
564
+ declare function createConsentClient(baseUrl: string, ledgerBaseUrl?: string): {
556
565
  /**
557
566
  * Get form data (privacy center)
558
567
  */
@@ -611,9 +620,23 @@ declare function createConsentClient(baseUrl: string): {
611
620
  nominator_uuid?: string;
612
621
  }, authToken?: string, options?: Omit<ApiFetchOptions, "getAuthToken">): Promise<unknown>;
613
622
  /**
614
- * Manage consent (privacy center) - revoke, regrant, or renew
623
+ * Manage consent (privacy center) - revoke, regrant, or renew.
624
+ *
625
+ * The Go ledger has no manage-consent route, so with a ledger configured
626
+ * this is expressed as a `partial` submit-consent on the ledger — mirroring
627
+ * the Python dual-write relay: the affected purpose is re-submitted with
628
+ * `selected: false` to revoke or `selected: true` to regrant/renew, and
629
+ * `partial: true` so the rest of the notice's purposes are left untouched.
630
+ * The principal is resolved from the JWT, so no `contact`/identifiers are
631
+ * sent in the body.
632
+ *
633
+ * Without a ledger, the legacy Python `/manage-consent?status=` endpoint is
634
+ * used with its `{ purpose_uuid, contact, ... }` payload.
615
635
  */
616
- manageConsent(baseRequest: BaseRequest, purposeId: string, contact: string, status: "revoke" | "regrant" | "renew", authToken?: string, options?: Omit<ApiFetchOptions, "getAuthToken">, nominatorContact?: string, dataElementUuids?: string[]): Promise<unknown>;
636
+ manageConsent(baseRequest: BaseRequest, purposeId: string, contact: string, status: "revoke" | "regrant" | "renew", authToken?: string, options?: Omit<ApiFetchOptions, "getAuthToken">, nominatorContact?: string, dataElementUuids?: string[], noticeUuid?: string, dataElements?: Array<{
637
+ uuid: string;
638
+ selected: boolean;
639
+ }>): Promise<unknown>;
617
640
  /**
618
641
  * Get activities (privacy center)
619
642
  */
@@ -686,12 +709,15 @@ declare function createConsentClient(baseUrl: string): {
686
709
 
687
710
  interface BaseUrlContextValue {
688
711
  baseUrl: string;
712
+ /** Go ledger base URL — serves user-consents; omit to use the legacy Python privacy-center consent endpoints. */
713
+ ledgerBaseUrl?: string;
689
714
  consentClient: ReturnType<typeof createConsentClient>;
690
715
  }
691
- declare function BaseUrlProvider({ children, baseUrl }: {
716
+ declare function BaseUrlProvider({ children, baseUrl, ledgerBaseUrl, }: {
692
717
  children: ReactNode;
693
718
  baseUrl: string;
694
- }): react_jsx_runtime.JSX.Element;
719
+ ledgerBaseUrl?: string;
720
+ }): React.JSX.Element;
695
721
  declare function useBaseUrl(): BaseUrlContextValue;
696
722
 
697
723
  declare function createOtpServer(email: string, organizationId: string, workspaceId: string, consentClient?: ReturnType<typeof createConsentClient>): Promise<OtpResponse>;
@@ -746,7 +772,7 @@ type FetchUserConsentsParams = {
746
772
  consentClient?: BaseUrlContextValue['consentClient'];
747
773
  };
748
774
  declare const fetchUserConsents: (params: FetchUserConsentsParams) => Promise<UserConsentDetail | null>;
749
- declare const manageConsent: ({ organizationId, workspaceId, purposeId, contact, action, authContext, consentClient, nominatorContact, dataElementUuids, }: {
775
+ declare const manageConsent: ({ organizationId, workspaceId, purposeId, contact, action, authContext, consentClient, nominatorContact, dataElementUuids, noticeUuid, dataElements, }: {
750
776
  organizationId: string;
751
777
  workspaceId: string;
752
778
  purposeId: string;
@@ -756,6 +782,11 @@ declare const manageConsent: ({ organizationId, workspaceId, purposeId, contact,
756
782
  consentClient?: BaseUrlContextValue["consentClient"];
757
783
  nominatorContact?: string;
758
784
  dataElementUuids?: string[];
785
+ noticeUuid?: string;
786
+ dataElements?: Array<{
787
+ uuid: string;
788
+ selected: boolean;
789
+ }>;
759
790
  }) => Promise<boolean | null>;
760
791
  declare const fetchActivities: (organizationId: string, workspaceId: string, offset?: number, limit?: number, authContext?: AuthContext, consentClient?: BaseUrlContextValue["consentClient"], language?: string) => Promise<ActivityDetail | null>;
761
792
  declare const fetchCaseHistory: (organizationId: string, workspaceId: string, contact: string, offset?: number, limit?: number, authContext?: AuthContext, consentClient?: BaseUrlContextValue["consentClient"], language?: string) => Promise<CaseHistoryDetail | null>;
@@ -764,8 +795,8 @@ declare const sendCaseMessage: (organizationId: string, workspaceId: string, cas
764
795
  declare const uploadCaseDocument: (organizationId: string, workspaceId: string, caseUuid: string, formData: globalThis.FormData, authContext?: AuthContext, consentClient?: BaseUrlContextValue["consentClient"]) => Promise<UploadDocumentResponse | null>;
765
796
  declare const submitDocumentForRequest: (organizationId: string, workspaceId: string, caseUuid: string, requestEventUuid: string, documentUuid: string, body: string, authContext?: AuthContext, consentClient?: BaseUrlContextValue["consentClient"]) => Promise<CaseMessage | null>;
766
797
 
767
- declare const useCaseHistory: (organizationId: string | undefined, workspaceId: string | undefined, contact: string | undefined, authContext?: AuthContext) => _tanstack_react_query.UseQueryResult<CaseRequest[], Error>;
768
- declare const useCaseMessages: (organizationId: string | undefined, workspaceId: string | undefined, caseUuid: string | undefined, authContext?: AuthContext, pollingInterval?: number) => _tanstack_react_query.UseQueryResult<CaseMessage[], Error>;
798
+ declare const useCaseHistory: (organizationId: string | undefined, workspaceId: string | undefined, contact: string | undefined, authContext?: AuthContext) => _tanstack_react_query.UseQueryResult<NoInfer<CaseRequest[]>, Error>;
799
+ declare const useCaseMessages: (organizationId: string | undefined, workspaceId: string | undefined, caseUuid: string | undefined, authContext?: AuthContext, pollingInterval?: number) => _tanstack_react_query.UseQueryResult<NoInfer<CaseMessage[]>, Error>;
769
800
 
770
801
  interface AuthContextType {
771
802
  accessToken: string;
@@ -783,7 +814,7 @@ interface AuthProviderProps {
783
814
  refreshToken: string;
784
815
  onError: (error: Error) => boolean;
785
816
  }
786
- declare function AuthProvider({ children, accessToken: initialAccessToken, refreshToken: initialRefreshToken, onError }: AuthProviderProps): react_jsx_runtime.JSX.Element;
817
+ declare function AuthProvider({ children, accessToken: initialAccessToken, refreshToken: initialRefreshToken, onError }: AuthProviderProps): React.JSX.Element;
787
818
  declare function useAuth(): AuthContextType;
788
819
 
789
820
  interface ThemeColors {
@@ -840,7 +871,7 @@ declare function ThemeProvider({ children, slug, baseUrl, }: {
840
871
  children: ReactNode;
841
872
  slug?: string;
842
873
  baseUrl?: string;
843
- }): react_jsx_runtime.JSX.Element;
874
+ }): React.JSX.Element;
844
875
  declare function useTheme(): ThemeContextType;
845
876
 
846
877
  /**
@@ -852,69 +883,69 @@ declare function useTheme(): ThemeContextType;
852
883
  * maps to which concept.
853
884
  */
854
885
  declare const REGISTRY: {
855
- activity: React.ForwardRefExoticComponent<lucide_react_native.LucideProps & React.RefAttributes<SVGSVGElement>>;
856
- 'arrow-left': React.ForwardRefExoticComponent<lucide_react_native.LucideProps & React.RefAttributes<SVGSVGElement>>;
857
- ban: React.ForwardRefExoticComponent<lucide_react_native.LucideProps & React.RefAttributes<SVGSVGElement>>;
858
- 'badge-check': React.ForwardRefExoticComponent<lucide_react_native.LucideProps & React.RefAttributes<SVGSVGElement>>;
859
- bell: React.ForwardRefExoticComponent<lucide_react_native.LucideProps & React.RefAttributes<SVGSVGElement>>;
860
- 'bell-dot': React.ForwardRefExoticComponent<lucide_react_native.LucideProps & React.RefAttributes<SVGSVGElement>>;
861
- 'bell-ring': React.ForwardRefExoticComponent<lucide_react_native.LucideProps & React.RefAttributes<SVGSVGElement>>;
862
- 'bookmark-check': React.ForwardRefExoticComponent<lucide_react_native.LucideProps & React.RefAttributes<SVGSVGElement>>;
863
- calendar: React.ForwardRefExoticComponent<lucide_react_native.LucideProps & React.RefAttributes<SVGSVGElement>>;
864
- check: React.ForwardRefExoticComponent<lucide_react_native.LucideProps & React.RefAttributes<SVGSVGElement>>;
865
- 'check-check': React.ForwardRefExoticComponent<lucide_react_native.LucideProps & React.RefAttributes<SVGSVGElement>>;
866
- 'chevron-down': React.ForwardRefExoticComponent<lucide_react_native.LucideProps & React.RefAttributes<SVGSVGElement>>;
867
- 'chevron-left': React.ForwardRefExoticComponent<lucide_react_native.LucideProps & React.RefAttributes<SVGSVGElement>>;
868
- 'chevron-right': React.ForwardRefExoticComponent<lucide_react_native.LucideProps & React.RefAttributes<SVGSVGElement>>;
869
- 'chevron-up': React.ForwardRefExoticComponent<lucide_react_native.LucideProps & React.RefAttributes<SVGSVGElement>>;
870
- 'circle-alert': React.ForwardRefExoticComponent<lucide_react_native.LucideProps & React.RefAttributes<SVGSVGElement>>;
871
- 'circle-check': React.ForwardRefExoticComponent<lucide_react_native.LucideProps & React.RefAttributes<SVGSVGElement>>;
872
- 'circle-minus': React.ForwardRefExoticComponent<lucide_react_native.LucideProps & React.RefAttributes<SVGSVGElement>>;
873
- 'circle-x': React.ForwardRefExoticComponent<lucide_react_native.LucideProps & React.RefAttributes<SVGSVGElement>>;
874
- clock: React.ForwardRefExoticComponent<lucide_react_native.LucideProps & React.RefAttributes<SVGSVGElement>>;
875
- 'cloud-upload': React.ForwardRefExoticComponent<lucide_react_native.LucideProps & React.RefAttributes<SVGSVGElement>>;
876
- download: React.ForwardRefExoticComponent<lucide_react_native.LucideProps & React.RefAttributes<SVGSVGElement>>;
877
- 'ellipsis-vertical': React.ForwardRefExoticComponent<lucide_react_native.LucideProps & React.RefAttributes<SVGSVGElement>>;
878
- 'external-link': React.ForwardRefExoticComponent<lucide_react_native.LucideProps & React.RefAttributes<SVGSVGElement>>;
879
- eye: React.ForwardRefExoticComponent<lucide_react_native.LucideProps & React.RefAttributes<SVGSVGElement>>;
880
- 'eye-off': React.ForwardRefExoticComponent<lucide_react_native.LucideProps & React.RefAttributes<SVGSVGElement>>;
881
- file: React.ForwardRefExoticComponent<lucide_react_native.LucideProps & React.RefAttributes<SVGSVGElement>>;
882
- 'file-check': React.ForwardRefExoticComponent<lucide_react_native.LucideProps & React.RefAttributes<SVGSVGElement>>;
883
- 'file-pen': React.ForwardRefExoticComponent<lucide_react_native.LucideProps & React.RefAttributes<SVGSVGElement>>;
884
- 'file-text': React.ForwardRefExoticComponent<lucide_react_native.LucideProps & React.RefAttributes<SVGSVGElement>>;
885
- 'file-x': React.ForwardRefExoticComponent<lucide_react_native.LucideProps & React.RefAttributes<SVGSVGElement>>;
886
- globe: React.ForwardRefExoticComponent<lucide_react_native.LucideProps & React.RefAttributes<SVGSVGElement>>;
887
- history: React.ForwardRefExoticComponent<lucide_react_native.LucideProps & React.RefAttributes<SVGSVGElement>>;
888
- inbox: React.ForwardRefExoticComponent<lucide_react_native.LucideProps & React.RefAttributes<SVGSVGElement>>;
889
- languages: React.ForwardRefExoticComponent<lucide_react_native.LucideProps & React.RefAttributes<SVGSVGElement>>;
890
- 'list-filter': React.ForwardRefExoticComponent<lucide_react_native.LucideProps & React.RefAttributes<SVGSVGElement>>;
891
- lock: React.ForwardRefExoticComponent<lucide_react_native.LucideProps & React.RefAttributes<SVGSVGElement>>;
892
- 'log-out': React.ForwardRefExoticComponent<lucide_react_native.LucideProps & React.RefAttributes<SVGSVGElement>>;
893
- menu: React.ForwardRefExoticComponent<lucide_react_native.LucideProps & React.RefAttributes<SVGSVGElement>>;
894
- 'message-circle-warning': React.ForwardRefExoticComponent<lucide_react_native.LucideProps & React.RefAttributes<SVGSVGElement>>;
895
- 'message-square-text': React.ForwardRefExoticComponent<lucide_react_native.LucideProps & React.RefAttributes<SVGSVGElement>>;
896
- 'messages-square': React.ForwardRefExoticComponent<lucide_react_native.LucideProps & React.RefAttributes<SVGSVGElement>>;
897
- mic: React.ForwardRefExoticComponent<lucide_react_native.LucideProps & React.RefAttributes<SVGSVGElement>>;
898
- paperclip: React.ForwardRefExoticComponent<lucide_react_native.LucideProps & React.RefAttributes<SVGSVGElement>>;
899
- pencil: React.ForwardRefExoticComponent<lucide_react_native.LucideProps & React.RefAttributes<SVGSVGElement>>;
900
- plus: React.ForwardRefExoticComponent<lucide_react_native.LucideProps & React.RefAttributes<SVGSVGElement>>;
901
- 'receipt-text': React.ForwardRefExoticComponent<lucide_react_native.LucideProps & React.RefAttributes<SVGSVGElement>>;
902
- 'refresh-cw': React.ForwardRefExoticComponent<lucide_react_native.LucideProps & React.RefAttributes<SVGSVGElement>>;
903
- search: React.ForwardRefExoticComponent<lucide_react_native.LucideProps & React.RefAttributes<SVGSVGElement>>;
904
- send: React.ForwardRefExoticComponent<lucide_react_native.LucideProps & React.RefAttributes<SVGSVGElement>>;
905
- settings: React.ForwardRefExoticComponent<lucide_react_native.LucideProps & React.RefAttributes<SVGSVGElement>>;
906
- shield: React.ForwardRefExoticComponent<lucide_react_native.LucideProps & React.RefAttributes<SVGSVGElement>>;
907
- 'shield-check': React.ForwardRefExoticComponent<lucide_react_native.LucideProps & React.RefAttributes<SVGSVGElement>>;
908
- 'shield-x': React.ForwardRefExoticComponent<lucide_react_native.LucideProps & React.RefAttributes<SVGSVGElement>>;
909
- 'sliders-horizontal': React.ForwardRefExoticComponent<lucide_react_native.LucideProps & React.RefAttributes<SVGSVGElement>>;
910
- 'square-pen': React.ForwardRefExoticComponent<lucide_react_native.LucideProps & React.RefAttributes<SVGSVGElement>>;
911
- 'trash-2': React.ForwardRefExoticComponent<lucide_react_native.LucideProps & React.RefAttributes<SVGSVGElement>>;
912
- 'triangle-alert': React.ForwardRefExoticComponent<lucide_react_native.LucideProps & React.RefAttributes<SVGSVGElement>>;
913
- upload: React.ForwardRefExoticComponent<lucide_react_native.LucideProps & React.RefAttributes<SVGSVGElement>>;
914
- user: React.ForwardRefExoticComponent<lucide_react_native.LucideProps & React.RefAttributes<SVGSVGElement>>;
915
- 'user-round': React.ForwardRefExoticComponent<lucide_react_native.LucideProps & React.RefAttributes<SVGSVGElement>>;
916
- users: React.ForwardRefExoticComponent<lucide_react_native.LucideProps & React.RefAttributes<SVGSVGElement>>;
917
- x: React.ForwardRefExoticComponent<lucide_react_native.LucideProps & React.RefAttributes<SVGSVGElement>>;
886
+ activity: React__default.ForwardRefExoticComponent<lucide_react_native.LucideProps & React__default.RefAttributes<SVGSVGElement>>;
887
+ 'arrow-left': React__default.ForwardRefExoticComponent<lucide_react_native.LucideProps & React__default.RefAttributes<SVGSVGElement>>;
888
+ ban: React__default.ForwardRefExoticComponent<lucide_react_native.LucideProps & React__default.RefAttributes<SVGSVGElement>>;
889
+ 'badge-check': React__default.ForwardRefExoticComponent<lucide_react_native.LucideProps & React__default.RefAttributes<SVGSVGElement>>;
890
+ bell: React__default.ForwardRefExoticComponent<lucide_react_native.LucideProps & React__default.RefAttributes<SVGSVGElement>>;
891
+ 'bell-dot': React__default.ForwardRefExoticComponent<lucide_react_native.LucideProps & React__default.RefAttributes<SVGSVGElement>>;
892
+ 'bell-ring': React__default.ForwardRefExoticComponent<lucide_react_native.LucideProps & React__default.RefAttributes<SVGSVGElement>>;
893
+ 'bookmark-check': React__default.ForwardRefExoticComponent<lucide_react_native.LucideProps & React__default.RefAttributes<SVGSVGElement>>;
894
+ calendar: React__default.ForwardRefExoticComponent<lucide_react_native.LucideProps & React__default.RefAttributes<SVGSVGElement>>;
895
+ check: React__default.ForwardRefExoticComponent<lucide_react_native.LucideProps & React__default.RefAttributes<SVGSVGElement>>;
896
+ 'check-check': React__default.ForwardRefExoticComponent<lucide_react_native.LucideProps & React__default.RefAttributes<SVGSVGElement>>;
897
+ 'chevron-down': React__default.ForwardRefExoticComponent<lucide_react_native.LucideProps & React__default.RefAttributes<SVGSVGElement>>;
898
+ 'chevron-left': React__default.ForwardRefExoticComponent<lucide_react_native.LucideProps & React__default.RefAttributes<SVGSVGElement>>;
899
+ 'chevron-right': React__default.ForwardRefExoticComponent<lucide_react_native.LucideProps & React__default.RefAttributes<SVGSVGElement>>;
900
+ 'chevron-up': React__default.ForwardRefExoticComponent<lucide_react_native.LucideProps & React__default.RefAttributes<SVGSVGElement>>;
901
+ 'circle-alert': React__default.ForwardRefExoticComponent<lucide_react_native.LucideProps & React__default.RefAttributes<SVGSVGElement>>;
902
+ 'circle-check': React__default.ForwardRefExoticComponent<lucide_react_native.LucideProps & React__default.RefAttributes<SVGSVGElement>>;
903
+ 'circle-minus': React__default.ForwardRefExoticComponent<lucide_react_native.LucideProps & React__default.RefAttributes<SVGSVGElement>>;
904
+ 'circle-x': React__default.ForwardRefExoticComponent<lucide_react_native.LucideProps & React__default.RefAttributes<SVGSVGElement>>;
905
+ clock: React__default.ForwardRefExoticComponent<lucide_react_native.LucideProps & React__default.RefAttributes<SVGSVGElement>>;
906
+ 'cloud-upload': React__default.ForwardRefExoticComponent<lucide_react_native.LucideProps & React__default.RefAttributes<SVGSVGElement>>;
907
+ download: React__default.ForwardRefExoticComponent<lucide_react_native.LucideProps & React__default.RefAttributes<SVGSVGElement>>;
908
+ 'ellipsis-vertical': React__default.ForwardRefExoticComponent<lucide_react_native.LucideProps & React__default.RefAttributes<SVGSVGElement>>;
909
+ 'external-link': React__default.ForwardRefExoticComponent<lucide_react_native.LucideProps & React__default.RefAttributes<SVGSVGElement>>;
910
+ eye: React__default.ForwardRefExoticComponent<lucide_react_native.LucideProps & React__default.RefAttributes<SVGSVGElement>>;
911
+ 'eye-off': React__default.ForwardRefExoticComponent<lucide_react_native.LucideProps & React__default.RefAttributes<SVGSVGElement>>;
912
+ file: React__default.ForwardRefExoticComponent<lucide_react_native.LucideProps & React__default.RefAttributes<SVGSVGElement>>;
913
+ 'file-check': React__default.ForwardRefExoticComponent<lucide_react_native.LucideProps & React__default.RefAttributes<SVGSVGElement>>;
914
+ 'file-pen': React__default.ForwardRefExoticComponent<lucide_react_native.LucideProps & React__default.RefAttributes<SVGSVGElement>>;
915
+ 'file-text': React__default.ForwardRefExoticComponent<lucide_react_native.LucideProps & React__default.RefAttributes<SVGSVGElement>>;
916
+ 'file-x': React__default.ForwardRefExoticComponent<lucide_react_native.LucideProps & React__default.RefAttributes<SVGSVGElement>>;
917
+ globe: React__default.ForwardRefExoticComponent<lucide_react_native.LucideProps & React__default.RefAttributes<SVGSVGElement>>;
918
+ history: React__default.ForwardRefExoticComponent<lucide_react_native.LucideProps & React__default.RefAttributes<SVGSVGElement>>;
919
+ inbox: React__default.ForwardRefExoticComponent<lucide_react_native.LucideProps & React__default.RefAttributes<SVGSVGElement>>;
920
+ languages: React__default.ForwardRefExoticComponent<lucide_react_native.LucideProps & React__default.RefAttributes<SVGSVGElement>>;
921
+ 'list-filter': React__default.ForwardRefExoticComponent<lucide_react_native.LucideProps & React__default.RefAttributes<SVGSVGElement>>;
922
+ lock: React__default.ForwardRefExoticComponent<lucide_react_native.LucideProps & React__default.RefAttributes<SVGSVGElement>>;
923
+ 'log-out': React__default.ForwardRefExoticComponent<lucide_react_native.LucideProps & React__default.RefAttributes<SVGSVGElement>>;
924
+ menu: React__default.ForwardRefExoticComponent<lucide_react_native.LucideProps & React__default.RefAttributes<SVGSVGElement>>;
925
+ 'message-circle-warning': React__default.ForwardRefExoticComponent<lucide_react_native.LucideProps & React__default.RefAttributes<SVGSVGElement>>;
926
+ 'message-square-text': React__default.ForwardRefExoticComponent<lucide_react_native.LucideProps & React__default.RefAttributes<SVGSVGElement>>;
927
+ 'messages-square': React__default.ForwardRefExoticComponent<lucide_react_native.LucideProps & React__default.RefAttributes<SVGSVGElement>>;
928
+ mic: React__default.ForwardRefExoticComponent<lucide_react_native.LucideProps & React__default.RefAttributes<SVGSVGElement>>;
929
+ paperclip: React__default.ForwardRefExoticComponent<lucide_react_native.LucideProps & React__default.RefAttributes<SVGSVGElement>>;
930
+ pencil: React__default.ForwardRefExoticComponent<lucide_react_native.LucideProps & React__default.RefAttributes<SVGSVGElement>>;
931
+ plus: React__default.ForwardRefExoticComponent<lucide_react_native.LucideProps & React__default.RefAttributes<SVGSVGElement>>;
932
+ 'receipt-text': React__default.ForwardRefExoticComponent<lucide_react_native.LucideProps & React__default.RefAttributes<SVGSVGElement>>;
933
+ 'refresh-cw': React__default.ForwardRefExoticComponent<lucide_react_native.LucideProps & React__default.RefAttributes<SVGSVGElement>>;
934
+ search: React__default.ForwardRefExoticComponent<lucide_react_native.LucideProps & React__default.RefAttributes<SVGSVGElement>>;
935
+ send: React__default.ForwardRefExoticComponent<lucide_react_native.LucideProps & React__default.RefAttributes<SVGSVGElement>>;
936
+ settings: React__default.ForwardRefExoticComponent<lucide_react_native.LucideProps & React__default.RefAttributes<SVGSVGElement>>;
937
+ shield: React__default.ForwardRefExoticComponent<lucide_react_native.LucideProps & React__default.RefAttributes<SVGSVGElement>>;
938
+ 'shield-check': React__default.ForwardRefExoticComponent<lucide_react_native.LucideProps & React__default.RefAttributes<SVGSVGElement>>;
939
+ 'shield-x': React__default.ForwardRefExoticComponent<lucide_react_native.LucideProps & React__default.RefAttributes<SVGSVGElement>>;
940
+ 'sliders-horizontal': React__default.ForwardRefExoticComponent<lucide_react_native.LucideProps & React__default.RefAttributes<SVGSVGElement>>;
941
+ 'square-pen': React__default.ForwardRefExoticComponent<lucide_react_native.LucideProps & React__default.RefAttributes<SVGSVGElement>>;
942
+ 'trash-2': React__default.ForwardRefExoticComponent<lucide_react_native.LucideProps & React__default.RefAttributes<SVGSVGElement>>;
943
+ 'triangle-alert': React__default.ForwardRefExoticComponent<lucide_react_native.LucideProps & React__default.RefAttributes<SVGSVGElement>>;
944
+ upload: React__default.ForwardRefExoticComponent<lucide_react_native.LucideProps & React__default.RefAttributes<SVGSVGElement>>;
945
+ user: React__default.ForwardRefExoticComponent<lucide_react_native.LucideProps & React__default.RefAttributes<SVGSVGElement>>;
946
+ 'user-round': React__default.ForwardRefExoticComponent<lucide_react_native.LucideProps & React__default.RefAttributes<SVGSVGElement>>;
947
+ users: React__default.ForwardRefExoticComponent<lucide_react_native.LucideProps & React__default.RefAttributes<SVGSVGElement>>;
948
+ x: React__default.ForwardRefExoticComponent<lucide_react_native.LucideProps & React__default.RefAttributes<SVGSVGElement>>;
918
949
  };
919
950
  type IconName = keyof typeof REGISTRY;
920
951
  type IconProps = {
@@ -926,7 +957,7 @@ type IconProps = {
926
957
  /** Lucide stroke weight. Defaults to 1.85 for a clean, modern line. */
927
958
  strokeWidth?: number;
928
959
  };
929
- declare const Icon: React.FC<IconProps>;
960
+ declare const Icon: React__default.FC<IconProps>;
930
961
 
931
962
  type PCButtonVariant = 'primary' | 'outline' | 'ghost' | 'danger';
932
963
  type PCButtonSize = 'sm' | 'md' | 'lg';
@@ -944,7 +975,7 @@ type PCButtonProps = {
944
975
  style?: StyleProp<ViewStyle>;
945
976
  textStyle?: StyleProp<TextStyle>;
946
977
  };
947
- declare const PCButton: React.FC<PCButtonProps>;
978
+ declare const PCButton: React__default.FC<PCButtonProps>;
948
979
 
949
980
  type PCInputProps = {
950
981
  label?: string;
@@ -959,7 +990,7 @@ type PCInputProps = {
959
990
  /** Optional leading icon inside the field. */
960
991
  leftIcon?: IconName;
961
992
  };
962
- declare const PCInput: React.FC<PCInputProps>;
993
+ declare const PCInput: React__default.FC<PCInputProps>;
963
994
 
964
995
  type PCSelectOption = {
965
996
  value: string;
@@ -974,17 +1005,17 @@ type PCSelectProps = {
974
1005
  compact?: boolean;
975
1006
  style?: ViewStyle;
976
1007
  };
977
- declare const PCSelect: React.FC<PCSelectProps>;
1008
+ declare const PCSelect: React__default.FC<PCSelectProps>;
978
1009
 
979
1010
  type PCModalSize = 'sm' | 'md' | 'lg';
980
1011
  type PCModalProps = {
981
1012
  visible: boolean;
982
1013
  onClose: () => void;
983
1014
  title?: string;
984
- children: React.ReactNode;
1015
+ children: React__default.ReactNode;
985
1016
  size?: PCModalSize;
986
1017
  };
987
- declare const PCModal: React.FC<PCModalProps>;
1018
+ declare const PCModal: React__default.FC<PCModalProps>;
988
1019
 
989
1020
  type PCCheckboxProps = {
990
1021
  checked: boolean;
@@ -992,14 +1023,14 @@ type PCCheckboxProps = {
992
1023
  label?: string;
993
1024
  disabled?: boolean;
994
1025
  };
995
- declare const PCCheckbox: React.FC<PCCheckboxProps>;
1026
+ declare const PCCheckbox: React__default.FC<PCCheckboxProps>;
996
1027
 
997
1028
  type PCLoaderProps = {
998
1029
  size?: 'small' | 'large';
999
1030
  color?: string;
1000
1031
  text?: string;
1001
1032
  };
1002
- declare const PCLoader: React.FC<PCLoaderProps>;
1033
+ declare const PCLoader: React__default.FC<PCLoaderProps>;
1003
1034
 
1004
1035
  type PCEmptyProps = {
1005
1036
  title: string;
@@ -1007,11 +1038,11 @@ type PCEmptyProps = {
1007
1038
  /** Preferred: a named icon rendered in a neutral tile. */
1008
1039
  iconName?: IconName;
1009
1040
  /** Escape hatch: a custom icon node (kept for backward compatibility). */
1010
- icon?: React.ReactNode;
1041
+ icon?: React__default.ReactNode;
1011
1042
  /** Optional action (e.g. a PCButton). */
1012
- action?: React.ReactNode;
1043
+ action?: React__default.ReactNode;
1013
1044
  };
1014
- declare const PCEmpty: React.FC<PCEmptyProps>;
1045
+ declare const PCEmpty: React__default.FC<PCEmptyProps>;
1015
1046
 
1016
1047
  type PCBadgeStatus = 'success' | 'warning' | 'error' | 'info' | 'pending' | 'secondary';
1017
1048
  type PCBadgeProps = {
@@ -1021,7 +1052,7 @@ type PCBadgeProps = {
1021
1052
  /** Show a small leading status dot (in the badge's foreground color). */
1022
1053
  dot?: boolean;
1023
1054
  };
1024
- declare const PCBadge: React.FC<PCBadgeProps>;
1055
+ declare const PCBadge: React__default.FC<PCBadgeProps>;
1025
1056
 
1026
1057
  type PCAvatarProps = {
1027
1058
  name?: string | null;
@@ -1029,13 +1060,13 @@ type PCAvatarProps = {
1029
1060
  size?: number;
1030
1061
  style?: StyleProp<ViewStyle>;
1031
1062
  };
1032
- declare const PCAvatar: React.FC<PCAvatarProps>;
1063
+ declare const PCAvatar: React__default.FC<PCAvatarProps>;
1033
1064
 
1034
1065
  type BottomSheetProps = {
1035
1066
  visible: boolean;
1036
1067
  onClose: () => void;
1037
1068
  title?: string;
1038
- children: React.ReactNode;
1069
+ children: React__default.ReactNode;
1039
1070
  };
1040
1071
  /**
1041
1072
  * Native-mobile bottom sheet built on RN core (`Modal` + `Animated` +
@@ -1043,13 +1074,13 @@ type BottomSheetProps = {
1043
1074
  * the bottom, dims the backdrop, and supports swipe-down + backdrop-tap +
1044
1075
  * close-button dismissal.
1045
1076
  */
1046
- declare const BottomSheet: React.FC<BottomSheetProps>;
1077
+ declare const BottomSheet: React__default.FC<BottomSheetProps>;
1047
1078
 
1048
1079
  type PCDividerProps = {
1049
1080
  inset?: boolean;
1050
1081
  style?: StyleProp<ViewStyle>;
1051
1082
  };
1052
- declare const PCDivider: React.FC<PCDividerProps>;
1083
+ declare const PCDivider: React__default.FC<PCDividerProps>;
1053
1084
 
1054
1085
  type IconTileTone = 'primary' | 'neutral' | 'success' | 'warning' | 'danger' | 'info';
1055
1086
  type IconTileSize = 'sm' | 'md' | 'lg';
@@ -1066,7 +1097,7 @@ type IconTileProps = {
1066
1097
  * The core Soft Neutral motif: a softly tinted rounded square holding a single
1067
1098
  * icon. Anchors list rows, section headers, stat cards and notifications.
1068
1099
  */
1069
- declare const IconTile: React.FC<IconTileProps>;
1100
+ declare const IconTile: React__default.FC<IconTileProps>;
1070
1101
 
1071
1102
  type PCPageTitleProps = {
1072
1103
  title: string;
@@ -1076,7 +1107,7 @@ type PCPageTitleProps = {
1076
1107
  /** Optional leading icon (rendered in a tinted tile). */
1077
1108
  icon?: IconName;
1078
1109
  tone?: IconTileTone;
1079
- trailing?: React.ReactNode;
1110
+ trailing?: React__default.ReactNode;
1080
1111
  /** `large` renders an iOS-style big screen title (no icon tile, no overline). */
1081
1112
  variant?: 'default' | 'large';
1082
1113
  style?: StyleProp<ViewStyle>;
@@ -1086,26 +1117,26 @@ type PCPageTitleProps = {
1086
1117
  * top/bottom spacing. Prefer passing `icon`/`overline` for the icon-led look, or
1087
1118
  * `variant="large"` for the clean iOS large-title look.
1088
1119
  */
1089
- declare const PCPageTitle: React.FC<PCPageTitleProps>;
1120
+ declare const PCPageTitle: React__default.FC<PCPageTitleProps>;
1090
1121
 
1091
1122
  type PCListRowProps = {
1092
1123
  title: string;
1093
1124
  subtitle?: string;
1094
1125
  onPress?: () => void;
1095
1126
  /** Leading content (typically an <IconTile />). */
1096
- leading?: React.ReactNode;
1097
- trailing?: React.ReactNode;
1127
+ leading?: React__default.ReactNode;
1128
+ trailing?: React__default.ReactNode;
1098
1129
  showChevron?: boolean;
1099
1130
  style?: StyleProp<ViewStyle>;
1100
1131
  };
1101
- declare const PCListRow: React.FC<PCListRowProps>;
1132
+ declare const PCListRow: React__default.FC<PCListRowProps>;
1102
1133
 
1103
1134
  type PCListSectionProps = {
1104
1135
  title?: string;
1105
- children: React.ReactNode;
1136
+ children: React__default.ReactNode;
1106
1137
  style?: StyleProp<ViewStyle>;
1107
1138
  };
1108
- declare const PCListSection: React.FC<PCListSectionProps>;
1139
+ declare const PCListSection: React__default.FC<PCListSectionProps>;
1109
1140
 
1110
1141
  type SectionHeaderProps = {
1111
1142
  title: string;
@@ -1116,7 +1147,7 @@ type SectionHeaderProps = {
1116
1147
  icon?: IconName;
1117
1148
  tone?: IconTileTone;
1118
1149
  /** Right-aligned content (count, action, filter button). */
1119
- trailing?: React.ReactNode;
1150
+ trailing?: React__default.ReactNode;
1120
1151
  /**
1121
1152
  * `large` renders an iOS-style big screen title (no icon tile, no overline).
1122
1153
  * `default` keeps the compact icon-led header.
@@ -1129,7 +1160,7 @@ type SectionHeaderProps = {
1129
1160
  * uppercase overline with a compact title (and optional icon tile) instead of a
1130
1161
  * large text heading.
1131
1162
  */
1132
- declare const SectionHeader: React.FC<SectionHeaderProps>;
1163
+ declare const SectionHeader: React__default.FC<SectionHeaderProps>;
1133
1164
 
1134
1165
  type SkeletonProps = {
1135
1166
  width?: DimensionValue;
@@ -1138,9 +1169,9 @@ type SkeletonProps = {
1138
1169
  style?: StyleProp<ViewStyle>;
1139
1170
  };
1140
1171
  /** A single shimmering placeholder block. Compose several for list skeletons. */
1141
- declare const Skeleton: React.FC<SkeletonProps>;
1172
+ declare const Skeleton: React__default.FC<SkeletonProps>;
1142
1173
  /** Convenience: a card-shaped skeleton row (icon tile + two text lines). */
1143
- declare const SkeletonRow: React.FC<{
1174
+ declare const SkeletonRow: React__default.FC<{
1144
1175
  style?: StyleProp<ViewStyle>;
1145
1176
  }>;
1146
1177
 
@@ -1155,7 +1186,7 @@ type StatPillProps = {
1155
1186
  style?: StyleProp<ViewStyle>;
1156
1187
  };
1157
1188
  /** Compact metric chip used in the notifications stat row and the home hub. */
1158
- declare const StatPill: React.FC<StatPillProps>;
1189
+ declare const StatPill: React__default.FC<StatPillProps>;
1159
1190
 
1160
1191
  type PressScaleOptions = {
1161
1192
  /** Target scale while pressed. Default 0.97. */