@layerfi/components 0.1.111 → 0.1.112-alpha

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.
package/dist/index.d.ts CHANGED
@@ -941,6 +941,19 @@ declare module '@layerfi/components/api/layer' {
941
941
  }>;
942
942
  };
943
943
 
944
+ }
945
+ declare module '@layerfi/components/assets/images/index' {
946
+ /** Service Offering > Top of fold image content */
947
+ export { default as imagePartnerAccountingImage } from '@layerfi/components/assets/images/partner-accounting.png/index';
948
+ /** Service Offering > Accounting value proposition images */
949
+ export { default as imageBusinessAccounts } from '@layerfi/components/assets/images/business-accounts.svg/index';
950
+ export { default as imageBusinessOverview } from '@layerfi/components/assets/images/business-overview.svg/index';
951
+ export { default as imageCategorizeExpenses } from '@layerfi/components/assets/images/categorize-expenses.svg/index';
952
+ /** Service Offering > Bookkeeping value proposition images */
953
+ export { default as imageBookkeeperInquiries } from '@layerfi/components/assets/images/bookkeeper-inquiries.svg/index';
954
+ export { default as imageScheduleBookkeeperMeeting } from '@layerfi/components/assets/images/schedule-bookkeeper-meeting.svg/index';
955
+ export { default as imagePnlOverview } from '@layerfi/components/assets/images/pnl-overview.svg/index';
956
+
944
957
  }
945
958
  declare module '@layerfi/components/components/ActionableList/ActionableList' {
946
959
  export interface ActionableListOption<T> {
@@ -2072,6 +2085,16 @@ declare module '@layerfi/components/components/Button/index' {
2072
2085
  export { DownloadButton } from '@layerfi/components/components/Button/DownloadButton';
2073
2086
  export { ExpandCollapseButton } from '@layerfi/components/components/Button/ExpandCollapseButton';
2074
2087
 
2088
+ }
2089
+ declare module '@layerfi/components/components/CallBooking/CallBooking' {
2090
+ import { type CallBooking as CallBookingData } from '@layerfi/components/schemas/callBookings';
2091
+ export interface CallBookingProps {
2092
+ callBooking?: CallBookingData;
2093
+ onBookCall?: () => void;
2094
+ onAddToCalendar?: (callBooking: CallBookingData) => void;
2095
+ }
2096
+ export const CallBooking: ({ callBooking, onBookCall, onAddToCalendar, }: CallBookingProps) => import("react/jsx-runtime").JSX.Element;
2097
+
2075
2098
  }
2076
2099
  declare module '@layerfi/components/components/Card/Card' {
2077
2100
  import { ReactNode } from 'react';
@@ -3704,23 +3727,16 @@ declare module '@layerfi/components/components/Journal/Journal' {
3704
3727
  import { JournalTableStringOverrides } from '@layerfi/components/components/JournalTable/JournalTableWithPanel';
3705
3728
  import { LinkingMetadata } from '@layerfi/components/contexts/InAppLinkContext';
3706
3729
  import { ReactNode } from 'react';
3707
- export interface JournalConfig {
3708
- form: {
3709
- addEntryLinesLimit?: number;
3710
- };
3711
- }
3712
3730
  export interface JournalStringOverrides {
3713
3731
  journalTable?: JournalTableStringOverrides;
3714
3732
  }
3715
3733
  export interface JournalProps {
3716
3734
  asWidget?: boolean;
3717
- config?: JournalConfig;
3718
3735
  stringOverrides?: JournalStringOverrides;
3719
3736
  renderInAppLink?: (source: LinkingMetadata) => ReactNode;
3720
3737
  showTags?: boolean;
3721
3738
  showCustomerVendor?: boolean;
3722
3739
  }
3723
- export const JOURNAL_CONFIG: JournalConfig;
3724
3740
  export const Journal: (props: JournalProps) => import("react/jsx-runtime").JSX.Element;
3725
3741
 
3726
3742
  }
@@ -5295,7 +5311,7 @@ declare module '@layerfi/components/components/Journal/JournalEntryForm/useUpser
5295
5311
  };
5296
5312
  };
5297
5313
  } | undefined;
5298
- error: any;
5314
+ isError: boolean;
5299
5315
  isMutating: boolean;
5300
5316
  };
5301
5317
  export {};
@@ -5368,7 +5384,6 @@ declare module '@layerfi/components/components/JournalTable/JournalTable' {
5368
5384
  declare module '@layerfi/components/components/JournalTable/JournalTableWithPanel' {
5369
5385
  import { RefObject } from 'react';
5370
5386
  import { View } from '@layerfi/components/types/general';
5371
- import { JournalConfig } from '@layerfi/components/components/Journal/Journal';
5372
5387
  export interface JournalTableStringOverrides {
5373
5388
  componentTitle?: string;
5374
5389
  componentSubtitle?: string;
@@ -5381,11 +5396,10 @@ declare module '@layerfi/components/components/JournalTable/JournalTableWithPane
5381
5396
  debitColumnHeader?: string;
5382
5397
  creditColumnHeader?: string;
5383
5398
  }
5384
- export const JournalTableWithPanel: ({ containerRef, pageSize, config, stringOverrides, view, }: {
5399
+ export const JournalTableWithPanel: ({ containerRef, pageSize, stringOverrides, view, }: {
5385
5400
  view: View;
5386
5401
  containerRef: RefObject<HTMLDivElement>;
5387
5402
  pageSize?: number;
5388
- config: JournalConfig;
5389
5403
  stringOverrides?: JournalTableStringOverrides;
5390
5404
  }) => import("react/jsx-runtime").JSX.Element;
5391
5405
 
@@ -5439,7 +5453,7 @@ declare module '@layerfi/components/components/LedgerAccount/index' {
5439
5453
 
5440
5454
  }
5441
5455
  declare module '@layerfi/components/components/LedgerAccountCombobox/LedgerAccountCombobox' {
5442
- import { type CategoriesListMode } from "@layerfi/components/schemas/categorization";
5456
+ import { type CategoriesListMode } from '@layerfi/components/schemas/categorization';
5443
5457
  import { type AccountIdentifier } from '@layerfi/components/schemas/accountIdentifier';
5444
5458
  type LedgerAccountComboboxProps = {
5445
5459
  label: string;
@@ -6371,6 +6385,356 @@ declare module '@layerfi/components/components/Separator/Separator' {
6371
6385
  export const Separator: ({ mbs, mbe }: SeparatorProps) => import("react/jsx-runtime").JSX.Element;
6372
6386
  export {};
6373
6387
 
6388
+ }
6389
+ declare module '@layerfi/components/components/ServiceOffering/ServiceOffering' {
6390
+ import { HeroContentConfigOverrides, ServiceOfferingConfigOverrides, ServiceOfferingPlatformConfig, ServiceOfferingType } from '@layerfi/components/components/ServiceOffering/types';
6391
+ /**
6392
+ * Props for the ServiceOffering component.
6393
+ *
6394
+ * Requires only a single parameter, which is `config` which holds on to all the customizable
6395
+ * settings for the service offering component such as textual content on the accounting and bookkeeping
6396
+ * services, with varied pricing options and book-a-call calendly integration.
6397
+ */
6398
+ export interface ServiceOfferingProps {
6399
+ platform: ServiceOfferingPlatformConfig;
6400
+ availableOffers: ServiceOfferingType[];
6401
+ heroOverrides: HeroContentConfigOverrides;
6402
+ offeringOverrides: {
6403
+ stringOverrides?: {
6404
+ sectionTitle: string;
6405
+ };
6406
+ accounting: ServiceOfferingConfigOverrides;
6407
+ bookkeeping: ServiceOfferingConfigOverrides;
6408
+ };
6409
+ }
6410
+ /**
6411
+ * The ServiceOffering component provides a page-level component that surfaces the Layer accounting
6412
+ * and bookkeeping services. It acts as a landing page allowing platforms to showcase the core value proposition
6413
+ * and offers/pricing for the platform's end users.
6414
+ @see ServiceOfferingMainConfig
6415
+ @param config Allows you to customize the page component.
6416
+ @returns A React JSX component
6417
+ */
6418
+ export const ServiceOffering: ({ platform, availableOffers, heroOverrides, offeringOverrides, }: ServiceOfferingProps) => import("react/jsx-runtime").JSX.Element;
6419
+
6420
+ }
6421
+ declare module '@layerfi/components/components/ServiceOffering/ServiceOfferingCarousel' {
6422
+ import { ReactNode } from 'react';
6423
+ export interface ServiceOfferingCarouselProps {
6424
+ children: ReactNode[];
6425
+ className?: string;
6426
+ autoSlide?: boolean;
6427
+ autoSlideInterval?: number;
6428
+ transitionDuration?: number;
6429
+ }
6430
+ /**
6431
+ * A lightweight carousel component for displaying service offerings
6432
+ *
6433
+ * @param children - Array of slide elements to display in the carousel
6434
+ * @param className - Additional CSS classes
6435
+ * @param autoSlide - Enable automatic slide transitions (default: true)
6436
+ * @param autoSlideInterval - Time between auto slides in ms (default: 5000)
6437
+ * @param transitionDuration - Transition animation duration in ms (default: 300)
6438
+ */
6439
+ export const ServiceOfferingCarousel: ({ children, className, autoSlide, autoSlideInterval, transitionDuration, }: ServiceOfferingCarouselProps) => import("react/jsx-runtime").JSX.Element;
6440
+
6441
+ }
6442
+ declare module '@layerfi/components/components/ServiceOffering/ServiceOfferingHelper' {
6443
+ import { ServiceOfferingPlatformConfig, ServiceOfferingConfig } from '@layerfi/components/components/ServiceOffering/types';
6444
+ import { ServiceOfferingContentID, ServiceOfferingTypesTextContent, ContentConfig, PartialContentConfig } from '@layerfi/components/components/ServiceOffering/content';
6445
+ /**
6446
+ * Helper class to create defaults for the service offerings and override them, as well
6447
+ * as generate the base content configs.
6448
+ @see createBaseAccountingOffer
6449
+ @see createBaseBookkeepingOffer
6450
+ @see createContentConfig
6451
+ */
6452
+ export class ServiceOfferingHelper {
6453
+ /**
6454
+ * Creates dynamic text by replacing template variables with platform config values
6455
+ */
6456
+ static makeDynamicText(contentId: ServiceOfferingContentID, textContent: ServiceOfferingTypesTextContent, platformConfig: ServiceOfferingPlatformConfig): string;
6457
+ /**
6458
+ * Binds template variables in a string with platform configuration values
6459
+ */
6460
+ static bindTextValues(template: string, platformConfig: ServiceOfferingPlatformConfig): string;
6461
+ static bindTextValues(template: string, variableMap: Record<string, string>): string;
6462
+ /**
6463
+ * Generates a `ServiceOfferingConfig` with the default values for offering
6464
+ * Layer's accounting service. Recommended when you want minimal changes for
6465
+ * the standard accounting offer.
6466
+ *
6467
+ * Default settings are set to a base pricing of $299/month, which can be
6468
+ * overwritten using `overwriteBaseOffer`.
6469
+ *
6470
+ * @see ServiceOfferingHelper.overwriteBaseOffer
6471
+ */
6472
+ static createBaseAccountingOffer(platformConfig: ServiceOfferingPlatformConfig): ServiceOfferingConfig;
6473
+ /**
6474
+ * Generates a `ServiceOfferingConfig` with the default values for offering
6475
+ * Layer's bookkeeping service. Recommended when you want minimal changes for
6476
+ * the standard bookkeeping offer.
6477
+ *
6478
+ * Default settings are set to a base pricing of $599/month, which can be
6479
+ * overwritten using `overwriteBaseOffer`.
6480
+ *
6481
+ * @see ServiceOfferingHelper.overwriteBaseOffer
6482
+ */
6483
+ static createBaseBookkeepingOffer(platformConfig: ServiceOfferingPlatformConfig): ServiceOfferingConfig;
6484
+ /**
6485
+ * Use an existing base offer and overwrite portions of its content.
6486
+ *
6487
+ * When you want to create your own config, you can create your own `ServiceOfferingConfig`.
6488
+ *
6489
+ * @see ServiceOfferingHelper.createBaseAccountingOffer
6490
+ * @see ServiceOfferingHelper.createBaseBookkeepingOffer
6491
+ * @see ServiceOfferingConfig
6492
+ */
6493
+ static overwriteBaseOffer(defaults: ServiceOfferingConfig, partial: Partial<ServiceOfferingConfig>): ServiceOfferingConfig;
6494
+ /**
6495
+ * Creates a ContentConfig with the default config content provided for Layer's
6496
+ * accounting and bookkeeping offerings.
6497
+ *
6498
+ * @see serviceOfferingDefaultContentConfig - contains the default text content for the ServiceOffering component.
6499
+ */
6500
+ static createContentConfig(config: PartialContentConfig): ContentConfig;
6501
+ }
6502
+
6503
+ }
6504
+ declare module '@layerfi/components/components/ServiceOffering/ServiceOfferingOptions' {
6505
+ import { ServiceOfferingPlatformConfig, ServiceOfferingConfigOverridesResolved } from '@layerfi/components/components/ServiceOffering/types';
6506
+ export interface ServiceOfferingOptionsProps {
6507
+ type: 'accounting' | 'bookkeeping';
6508
+ platformConfig: ServiceOfferingPlatformConfig;
6509
+ config: ServiceOfferingConfigOverridesResolved;
6510
+ openCalendly: (link: string) => void;
6511
+ className: string;
6512
+ }
6513
+ export const ServiceOfferingOffer: ({ type, platformConfig, config, openCalendly, className, }: ServiceOfferingOptionsProps) => import("react/jsx-runtime").JSX.Element;
6514
+
6515
+ }
6516
+ declare module '@layerfi/components/components/ServiceOffering/content' {
6517
+ import { HeroContentConfigOverridesResolved, ServiceOfferingConfig, ServiceOfferingConfigOverridesResolved } from '@layerfi/components/components/ServiceOffering/types';
6518
+ import { ReactNode } from 'react';
6519
+ export type CoreValueProposition = {
6520
+ icon: ReactNode;
6521
+ title: string;
6522
+ text: string;
6523
+ };
6524
+ export type ServiceOfferingTypesTextContent = Record<ServiceOfferingContentID, string>;
6525
+ /**
6526
+ * The ServiceOfferingContentID is an enum of all the different kinds of text used on the base service offer configs
6527
+ * for the various service offerings.
6528
+ *
6529
+ * In general, there are 3 sections on the ServiceOffering page component: (1) Top-of-the-fold main content section,
6530
+ * (2) Core value proposition content section, (3) Service offering content section.
6531
+ *
6532
+ * Using these enums as keys allows you to overwrite specific textual content on the different sections defined on the base configs.
6533
+ @see ServiceOfferingHelper.createBaseAccountingOffer
6534
+ @see ServiceOfferingHelper.createBaseBookkeepingOffer
6535
+ */
6536
+ export enum ServiceOfferingContentID {
6537
+ /**
6538
+ * The top most header text on section 1, top-of-the-fold main content section.
6539
+ *
6540
+ * When left blank, uses black color for the platform name, and a grayed out color on the word 'Accounting'.
6541
+ * Otherwise, uses a purely black color for the title.
6542
+ */
6543
+ title = 0,
6544
+ /**
6545
+ * The text below the top most header text on the ServiceOffering page.
6546
+ */
6547
+ subtitle = 1,
6548
+ /**
6549
+ * The first of two headlines on the core value proposition content section.
6550
+ */
6551
+ headline1 = 2,
6552
+ /**
6553
+ * The descriptive text below headline_1.
6554
+ */
6555
+ headline1Desc = 3,
6556
+ /**
6557
+ * The second headline on the core value proposition content section.
6558
+ */
6559
+ headline2 = 4,
6560
+ /**
6561
+ * The descriptive text below headline_2.
6562
+ */
6563
+ headline2Desc = 5,
6564
+ /**
6565
+ * The title for the value proposition section (section 2).
6566
+ */
6567
+ valuePropositionTitle = 6,
6568
+ /**
6569
+ * The title for the service offerings section (section 3).
6570
+ */
6571
+ offersTitle = 7
6572
+ }
6573
+ export const ServiceOfferingDefaultTextContent: ServiceOfferingTypesTextContent;
6574
+ export interface ContentConfig {
6575
+ textContent?: ServiceOfferingTypesTextContent;
6576
+ features?: CoreValueProposition[];
6577
+ config: ServiceOfferingConfig[];
6578
+ }
6579
+ /** Partial configuration type for overriding defaults */
6580
+ export type PartialContentConfig = {
6581
+ textContent?: Partial<ServiceOfferingTypesTextContent>;
6582
+ features?: CoreValueProposition[];
6583
+ config: (ServiceOfferingConfig | Partial<ServiceOfferingConfig>)[];
6584
+ };
6585
+ /**
6586
+ * Provided default content configuration, which defines defaults for textual content
6587
+ * on the ServiceOffering.
6588
+ @see ServiceOffering
6589
+ */
6590
+ export const serviceOfferingDefaultContentConfig: Omit<ContentConfig, 'config'>;
6591
+ export const DefaultHeroContentConfig: HeroContentConfigOverridesResolved;
6592
+ export const DefaultAccountingOfferingContentConfig: ServiceOfferingConfigOverridesResolved;
6593
+ export const DefaultBookkeepingOfferingContentConfig: ServiceOfferingConfigOverridesResolved;
6594
+
6595
+ }
6596
+ declare module '@layerfi/components/components/ServiceOffering/types' {
6597
+ import { ReactNode } from 'react';
6598
+ /**
6599
+ * A Link acts as a call-to-action for users interacting with the ServiceOffering component.
6600
+ @see ServiceOffering
6601
+ */
6602
+ export type ServiceOfferingLink = {
6603
+ /** Text label displayed for the link. */
6604
+ label: string;
6605
+ /** Destination for the link. If calendly URL, opens a Calendly modal. Otherwise, opens a new tab. */
6606
+ url: string;
6607
+ };
6608
+ export type ServiceOfferingFeature = string | {
6609
+ description: string;
6610
+ icon: ReactNode;
6611
+ };
6612
+ /**
6613
+ * The ServiceOfferingValueProposition holds on to data that populates the value proposition
6614
+ * section.
6615
+ @see ServiceOffering
6616
+ */
6617
+ export type ServiceOfferingValueProposition = {
6618
+ /** A visual icon or graphic element that represents this value proposition (e.g., SVG icon, emoji, or React component) */
6619
+ icon: ReactNode;
6620
+ /** A short, compelling headline that summarizes the key benefit or feature */
6621
+ title: string;
6622
+ /** A detailed description explaining how this value proposition helps the customer or what makes it valuable */
6623
+ text: string;
6624
+ };
6625
+ /**
6626
+ * The ServiceOfferingConfig holds on to data that populates the offerings section.
6627
+ * @see ServiceOffering
6628
+ */
6629
+ export type ServiceOfferingConfig = {
6630
+ /** A small label/tag displayed prominently on the service card (e.g., "Most Popular", "Recommended") */
6631
+ badge: string;
6632
+ /** The main heading that identifies the service offering (e.g., "Full-Service Bookkeeping", "Self-Service Accounting") */
6633
+ title: string;
6634
+ /** A brief summary explaining what this service package includes and who it's for */
6635
+ description: string;
6636
+ /** A list of key benefits, capabilities, or included services that customers get with this offering */
6637
+ features: ServiceOfferingFeature[];
6638
+ /** The cost display for this service (e.g., "$299", or empty string for "Contact Us"). If left as an empty string, will not render any text. */
6639
+ pricing: string;
6640
+ /** The billing frequency or unit of measurement shown after the price (e.g., "/month", "/user", "/year").
6641
+ * If left as an empty string, will not render any text. */
6642
+ unit: string;
6643
+ /** The call-to-action button configuration with label text and destination URL. The CTAs
6644
+ * supports Calendly links for booking an appointment. If not a Calendly link, a new tab
6645
+ * will be opened in visiting the link. */
6646
+ cta: ServiceOfferingLink;
6647
+ /**
6648
+ * An array of detailed selling points with icons, titles, and descriptions that highlight the unique benefits of this service.
6649
+ *
6650
+ * The defaults contain three value propositions each for accounting and bookkeeping.
6651
+ * */
6652
+ valueProposition: ServiceOfferingValueProposition[];
6653
+ };
6654
+ /**
6655
+ * The ServiceOffering config defines the main CTA link and an optional learn more link.
6656
+ *
6657
+ * The main call-to-action usually points to a Calendly booking link, while the learn more
6658
+ * link points to an informational page about the offers.
6659
+ @see ServiceOffering
6660
+ */
6661
+ export type ServiceOfferingLinks = {
6662
+ /**
6663
+ * Main CTA link on the top-of-fold component.
6664
+ */
6665
+ main: ServiceOfferingLink;
6666
+ /**
6667
+ * Enables the learn more button, which allows a platform to link to a learn more page.
6668
+ *
6669
+ * If unspecified, the learn more button is not rendered.
6670
+ */
6671
+ learnMore?: ServiceOfferingLink;
6672
+ };
6673
+ /**
6674
+ * The PlatformConfig holds on to the name of the platform integrating with Layer, the primary
6675
+ * top-of-fold image shown on the ServiceOffering component, and the name of the platform's
6676
+ * niche or industry.
6677
+ @see ServiceOffering
6678
+ */
6679
+ export interface ServiceOfferingPlatformConfig {
6680
+ /**
6681
+ * The platform/brand name displayed throughout the component (e.g., "Shopify", "WooCommerce").
6682
+ * Used in titles, descriptions, and feature text to customize the content.
6683
+ */
6684
+ platformName: string;
6685
+ /**
6686
+ * The target industry for customization (e.g., "e-commerce", "SaaS", "retail").
6687
+ * Used to tailor feature descriptions and messaging to the specific industry.
6688
+ *
6689
+ * In cases where the industry name substitution does not work well for the value
6690
+ * propositions or features, we recommended you overwrite the value propositions directly.
6691
+ *
6692
+ @see ServiceOfferingValueProposition
6693
+ */
6694
+ industry: string;
6695
+ }
6696
+ export type ServiceOfferingType = 'accounting' | 'bookkeeping';
6697
+ export interface ServiceOfferingOverrides<StringOverrideKeys extends string, MediaUrlKeys extends string, CtaKeys extends string> {
6698
+ stringOverrides?: Partial<Record<StringOverrideKeys, string>>;
6699
+ mediaUrls?: Partial<Record<MediaUrlKeys, string>>;
6700
+ cta?: Partial<Record<CtaKeys, ServiceOfferingLink>>;
6701
+ }
6702
+ export interface ServiceOfferingOverridesResolved<StringOverrideKeys extends string, MediaUrlKeys extends string, CtaKeys extends string> {
6703
+ stringOverrides: Record<StringOverrideKeys, string>;
6704
+ mediaUrls: Record<MediaUrlKeys, string>;
6705
+ cta: Record<CtaKeys, ServiceOfferingLink>;
6706
+ }
6707
+ export type HeroContentStringOverrideKeys = 'title' | 'subtitle' | 'heading1' | 'heading1Desc' | 'heading2' | 'heading2Desc';
6708
+ export type HeroContentMediaUrlKeys = 'topOfFoldImage';
6709
+ export type HeroContentCtaKeys = 'primary' | 'secondary';
6710
+ export type HeroContentConfigOverrides = ServiceOfferingOverrides<HeroContentStringOverrideKeys, HeroContentMediaUrlKeys, HeroContentCtaKeys>;
6711
+ export type HeroContentConfigOverridesResolved = ServiceOfferingOverridesResolved<HeroContentStringOverrideKeys, HeroContentMediaUrlKeys, HeroContentCtaKeys>;
6712
+ export type ServiceOfferingStringOverrideKeys = 'badge' | 'title' | 'subtitle' | 'priceAmount' | 'priceUnit';
6713
+ export type ServiceOfferingMediaUrlKeys = 'offerImage';
6714
+ export type ServiceOfferingCtaKeys = 'primary';
6715
+ export type ServiceOfferingConfigOverrides = ServiceOfferingOverrides<ServiceOfferingStringOverrideKeys, ServiceOfferingMediaUrlKeys, ServiceOfferingCtaKeys>;
6716
+ export type ServiceOfferingConfigOverridesResolved = ServiceOfferingOverridesResolved<ServiceOfferingStringOverrideKeys, ServiceOfferingMediaUrlKeys, ServiceOfferingCtaKeys> & {
6717
+ offerType: ServiceOfferingType;
6718
+ };
6719
+
6720
+ }
6721
+ declare module '@layerfi/components/components/ServiceOffering/utils' {
6722
+ import { HeroContentConfigOverridesResolved, HeroContentConfigOverrides, ServiceOfferingConfigOverridesResolved, ServiceOfferingConfigOverrides } from '@layerfi/components/components/ServiceOffering/types';
6723
+ /**
6724
+ * Merges main content config overrides with defaults.
6725
+ * @param defaults The default override values (must be complete)
6726
+ * @param overrides The partial overrides to merge
6727
+ * @returns A merged HeroContentConfigOverridesResolved object with all keys required
6728
+ */
6729
+ export function mergeHeroContentOverrides(defaults: HeroContentConfigOverridesResolved, overrides: HeroContentConfigOverrides): HeroContentConfigOverridesResolved;
6730
+ /**
6731
+ * Merges service offering config overrides with defaults.
6732
+ * @param defaults The default override values (must be complete)
6733
+ * @param overrides The partial overrides to merge
6734
+ * @returns A merged ServiceOfferingConfigOverridesResolved object with all keys required
6735
+ */
6736
+ export function mergeServiceOfferingOverrides(defaults: ServiceOfferingConfigOverridesResolved, overrides: ServiceOfferingConfigOverrides): ServiceOfferingConfigOverridesResolved;
6737
+
6374
6738
  }
6375
6739
  declare module '@layerfi/components/components/SkeletonLoader/SkeletonLoader' {
6376
6740
  import type { PropsWithChildren } from 'react';
@@ -7459,7 +7823,7 @@ declare module '@layerfi/components/components/ui/Modal/ModalSlots' {
7459
7823
  align?: "center";
7460
7824
  pbe?: import("@layerfi/components/components/ui/sharedUITypes").Spacing;
7461
7825
  pie?: import("@layerfi/components/components/ui/sharedUITypes").Spacing;
7462
- size?: "2xs" | "xs" | "sm" | "lg" | "xl";
7826
+ size?: "2xs" | "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | "3xl";
7463
7827
  variant?: "subtle";
7464
7828
  weight?: "normal" | "bold";
7465
7829
  ellipsis?: true;
@@ -7618,7 +7982,7 @@ declare module '@layerfi/components/components/ui/Typography/Heading' {
7618
7982
  align?: 'center';
7619
7983
  pbe?: Spacing;
7620
7984
  pie?: Spacing;
7621
- size?: '2xs' | 'xs' | 'sm' | 'lg' | 'xl';
7985
+ size?: '2xs' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl';
7622
7986
  variant?: 'subtle';
7623
7987
  weight?: 'normal' | 'bold';
7624
7988
  ellipsis?: true;
@@ -7645,7 +8009,7 @@ declare module '@layerfi/components/components/ui/Typography/Text' {
7645
8009
  pb?: Spacing;
7646
8010
  pbe?: Spacing;
7647
8011
  pbs?: Spacing;
7648
- size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
8012
+ size?: '2xs' | 'xs' | 'sm' | 'md' | 'lg' | 'xl';
7649
8013
  status?: 'error';
7650
8014
  variant?: 'placeholder' | 'subtle';
7651
8015
  weight?: 'normal' | 'bold';
@@ -7762,6 +8126,7 @@ declare module '@layerfi/components/config/general' {
7762
8126
  export const DATE_FORMAT = "LLL d, yyyy";
7763
8127
  export const DATE_FORMAT_SHORT = "M/d/yyyy";
7764
8128
  export const DATE_FORMAT_SHORT_PADDED = "MM/dd/yyyy";
8129
+ export const DATE_FORMAT_WITH_TIME = "LLL d, yyyy h:mm a";
7765
8130
  export const MONTH_DAY_FORMAT = "LLL d";
7766
8131
  export const TIME_FORMAT = "p";
7767
8132
  export const BREAKPOINTS: {
@@ -7838,27 +8203,12 @@ declare module '@layerfi/components/contexts/BankTransactionsContext/BankTransac
7838
8203
  isLoading: boolean;
7839
8204
  isValidating: boolean;
7840
8205
  refetch: () => void;
7841
- error: any;
8206
+ isError: boolean;
7842
8207
  categorize: (bankTransactionId: import("@layerfi/components/types").BankTransaction["id"], newCategory: import("../../types").CategoryUpdate, notify?: boolean) => Promise<void>;
7843
8208
  match: (bankTransactionId: import("@layerfi/components/types").BankTransaction["id"], suggestedMatchId: string, notify?: boolean) => Promise<void>;
7844
8209
  updateOneLocal: (newBankTransaction: import("@layerfi/components/types").BankTransaction) => void;
7845
8210
  shouldHideAfterCategorize: () => boolean;
7846
8211
  removeAfterCategorize: (bankTransaction: import("@layerfi/components/types").BankTransaction) => void;
7847
- filters: {
7848
- dateRange?: {
7849
- startDate: Date;
7850
- endDate: Date;
7851
- } | undefined;
7852
- amount?: import("@layerfi/components/hooks/useBankTransactions/types").NumericRangeFilter;
7853
- account?: string[];
7854
- direction?: import("@layerfi/components/types").Direction[];
7855
- categorizationStatus?: DisplayState;
7856
- query?: string;
7857
- tagFilter?: import("@layerfi/components/types/tags").TagFilterInput;
7858
- };
7859
- setFilters: (newFilters: import("@layerfi/components/hooks/useBankTransactions/types").BankTransactionFilters) => void;
7860
- dateFilterMode: import("@layerfi/components/hooks/useBankTransactions/types").BankTransactionsDateFilterMode | undefined;
7861
- accountsList: import("@layerfi/components/hooks/useBankTransactions/types").AccountItem[];
7862
8212
  display: DisplayState;
7863
8213
  fetchMore: () => void;
7864
8214
  hasMore: boolean;
@@ -7874,12 +8224,52 @@ declare module '@layerfi/components/contexts/BankTransactionsContext/BankTransac
7874
8224
  isLoading: boolean;
7875
8225
  isValidating: boolean;
7876
8226
  refetch: () => void;
7877
- error: any;
8227
+ isError: boolean;
7878
8228
  categorize: (bankTransactionId: import("@layerfi/components/types").BankTransaction["id"], newCategory: import("../../types").CategoryUpdate, notify?: boolean) => Promise<void>;
7879
8229
  match: (bankTransactionId: import("@layerfi/components/types").BankTransaction["id"], suggestedMatchId: string, notify?: boolean) => Promise<void>;
7880
8230
  updateOneLocal: (newBankTransaction: import("@layerfi/components/types").BankTransaction) => void;
7881
8231
  shouldHideAfterCategorize: () => boolean;
7882
8232
  removeAfterCategorize: (bankTransaction: import("@layerfi/components/types").BankTransaction) => void;
8233
+ display: DisplayState;
8234
+ fetchMore: () => void;
8235
+ hasMore: boolean;
8236
+ };
8237
+
8238
+ }
8239
+ declare module '@layerfi/components/contexts/BankTransactionsContext/index' {
8240
+ export { BankTransactionsContext, useBankTransactionsContext, } from '@layerfi/components/contexts/BankTransactionsContext/BankTransactionsContext';
8241
+
8242
+ }
8243
+ declare module '@layerfi/components/contexts/BankTransactionsFiltersContext/BankTransactionsFiltersContext' {
8244
+ import { BankTransactionFilters, BankTransactionsDateFilterMode } from '@layerfi/components/hooks/useBankTransactions/types';
8245
+ export type BankTransactionsFiltersContextType = {
8246
+ filters: BankTransactionFilters;
8247
+ setFilters: (filters: BankTransactionFilters) => void;
8248
+ dateFilterMode?: BankTransactionsDateFilterMode;
8249
+ };
8250
+ export const BankTransactionsFiltersContext: import("react").Context<BankTransactionsFiltersContextType>;
8251
+ export const useBankTransactionsFiltersContext: () => BankTransactionsFiltersContextType;
8252
+
8253
+ }
8254
+ declare module '@layerfi/components/contexts/BankTransactionsFiltersContext/BankTransactionsFiltersProvider' {
8255
+ import { ReactNode } from 'react';
8256
+ import { useBankTransactionsFiltersParams } from '@layerfi/components/contexts/BankTransactionsFiltersContext/useBankTransactionsFilters';
8257
+ type BankTransactionsFiltersProviderProps = {
8258
+ children: ReactNode;
8259
+ } & useBankTransactionsFiltersParams;
8260
+ export const BankTransactionsFiltersProvider: ({ children, ...params }: BankTransactionsFiltersProviderProps) => import("react/jsx-runtime").JSX.Element;
8261
+ export {};
8262
+
8263
+ }
8264
+ declare module '@layerfi/components/contexts/BankTransactionsFiltersContext/useBankTransactionsFilters' {
8265
+ import { BankTransactionFilters, BankTransactionsDateFilterMode } from '@layerfi/components/hooks/useBankTransactions/types';
8266
+ import { DisplayState } from '@layerfi/components/types';
8267
+ export type useBankTransactionsFiltersParams = {
8268
+ scope?: DisplayState;
8269
+ monthlyView?: boolean;
8270
+ applyGlobalDateRange?: boolean;
8271
+ };
8272
+ export const useBankTransactionsFilters: (params?: useBankTransactionsFiltersParams) => {
7883
8273
  filters: {
7884
8274
  dateRange?: {
7885
8275
  startDate: Date;
@@ -7892,18 +8282,10 @@ declare module '@layerfi/components/contexts/BankTransactionsContext/BankTransac
7892
8282
  query?: string;
7893
8283
  tagFilter?: import("@layerfi/components/types/tags").TagFilterInput;
7894
8284
  };
7895
- setFilters: (newFilters: import("@layerfi/components/hooks/useBankTransactions/types").BankTransactionFilters) => void;
7896
- dateFilterMode: import("@layerfi/components/hooks/useBankTransactions/types").BankTransactionsDateFilterMode | undefined;
7897
- accountsList: import("@layerfi/components/hooks/useBankTransactions/types").AccountItem[];
7898
- display: DisplayState;
7899
- fetchMore: () => void;
7900
- hasMore: boolean;
8285
+ setFilters: (newFilters: BankTransactionFilters) => void;
8286
+ dateFilterMode: BankTransactionsDateFilterMode | undefined;
7901
8287
  };
7902
8288
 
7903
- }
7904
- declare module '@layerfi/components/contexts/BankTransactionsContext/index' {
7905
- export { BankTransactionsContext, useBankTransactionsContext, } from '@layerfi/components/contexts/BankTransactionsContext/BankTransactionsContext';
7906
-
7907
8289
  }
7908
8290
  declare module '@layerfi/components/contexts/BillsContext' {
7909
8291
  import React, { ReactNode } from 'react';
@@ -8150,11 +8532,11 @@ declare module '@layerfi/components/contexts/JournalContext/JournalContext' {
8150
8532
  isValidatingEntry?: boolean;
8151
8533
  error?: unknown;
8152
8534
  errorEntry?: unknown;
8153
- refetch: () => void;
8535
+ refetch: () => Promise<import("@layerfi/components/features/ledger/entries/api/useListLedgerEntries").ListLedgerEntriesReturn[] | undefined>;
8154
8536
  selectedEntryId?: string;
8155
8537
  setSelectedEntryId: (id?: string) => void;
8156
8538
  closeSelectedEntry: () => void;
8157
- create: (newJournalEntry: import("@layerfi/components/types/journal").NewApiJournalEntry) => void;
8539
+ create: (newJournalEntry: import("@layerfi/components/types/journal").NewApiJournalEntry) => Promise<void>;
8158
8540
  changeFormData: (name: string, value: string | import("@layerfi/components/types/general").BaseSelectOption | undefined | number, lineItemIndex?: number, accounts?: import("../../types/journal").LedgerAccountBalance[]) => void;
8159
8541
  submitForm: () => void;
8160
8542
  cancelForm: () => void;
@@ -8202,7 +8584,7 @@ declare module '@layerfi/components/contexts/LedgerAccountsContext/LedgerAccount
8202
8584
  isValidatingEntry?: boolean;
8203
8585
  error?: unknown;
8204
8586
  errorEntry?: unknown;
8205
- refetch: () => void;
8587
+ refetch: () => Promise<import("@layerfi/components/features/ledger/accounts/[ledgerAccountId]/api/useListLedgerAccountLines").ListLedgerAccountLinesReturn[] | undefined>;
8206
8588
  selectedAccount: import("@layerfi/components/types/chart_of_accounts").LedgerAccountBalanceWithNodeType | undefined;
8207
8589
  setSelectedAccount: (account: import("@layerfi/components/types/chart_of_accounts").LedgerAccountBalanceWithNodeType | undefined) => void;
8208
8590
  selectedEntryId?: string;
@@ -8226,18 +8608,18 @@ declare module '@layerfi/components/contexts/LinkedAccountsContext/LinkedAccount
8226
8608
  loadingStatus: import("@layerfi/components/types/general").LoadedStatus;
8227
8609
  isValidating: boolean;
8228
8610
  error: unknown;
8229
- addConnection: (source: import("@layerfi/components/types/linked_accounts").AccountSource) => void;
8230
- removeConnection: (source: import("@layerfi/components/types/linked_accounts").AccountSource, sourceId: string) => void;
8231
- repairConnection: (source: import("@layerfi/components/types/linked_accounts").AccountSource, sourceId: string) => void;
8232
- updateConnectionStatus: () => void;
8233
- refetchAccounts: () => import("@layerfi/components/types/utility/promises").Awaitable<void>;
8234
- syncAccounts: () => void;
8235
- unlinkAccount: (source: import("@layerfi/components/types/linked_accounts").AccountSource, userCreated: boolean, accountId: string) => void;
8236
- confirmAccount: (source: import("@layerfi/components/types/linked_accounts").AccountSource, accountId: string) => void;
8237
- excludeAccount: (source: import("@layerfi/components/types/linked_accounts").AccountSource, accountId: string) => void;
8611
+ addConnection: (source: import("@layerfi/components/types/linked_accounts").AccountSource) => Promise<void>;
8612
+ removeConnection: (source: import("@layerfi/components/types/linked_accounts").AccountSource, sourceId: string) => Promise<void>;
8613
+ repairConnection: (source: import("@layerfi/components/types/linked_accounts").AccountSource, sourceId: string) => Promise<void>;
8614
+ updateConnectionStatus: () => Promise<void>;
8615
+ refetchAccounts: () => Promise<void>;
8616
+ syncAccounts: () => Promise<void>;
8617
+ unlinkAccount: (source: import("@layerfi/components/types/linked_accounts").AccountSource, userCreated: boolean, accountId: string) => Promise<void>;
8618
+ confirmAccount: (source: import("@layerfi/components/types/linked_accounts").AccountSource, accountId: string) => Promise<void>;
8619
+ excludeAccount: (source: import("@layerfi/components/types/linked_accounts").AccountSource, accountId: string) => Promise<void>;
8238
8620
  accountsToAddOpeningBalanceInModal: import("@layerfi/components/types/linked_accounts").LinkedAccount[];
8239
8621
  setAccountsToAddOpeningBalanceInModal: (accounts: import("@layerfi/components/types/linked_accounts").LinkedAccount[]) => void;
8240
- breakConnection: (source: import("@layerfi/components/types/linked_accounts").AccountSource, connectionExternalId: string) => void;
8622
+ breakConnection: (source: import("@layerfi/components/types/linked_accounts").AccountSource, connectionExternalId: string) => Promise<void>;
8241
8623
  }>;
8242
8624
 
8243
8625
  }
@@ -8557,6 +8939,81 @@ declare module '@layerfi/components/features/bankTransactions/[bankTransactionId
8557
8939
  export function BankTransactionTagVisibilityProvider({ children, showTags, }: BankTransactionTagVisibilityProviderProps): import("react/jsx-runtime").JSX.Element;
8558
8940
  export {};
8559
8941
 
8942
+ }
8943
+ declare module '@layerfi/components/features/callBookings/api/useCallBookings' {
8944
+ import { type SWRInfiniteResponse } from 'swr/infinite';
8945
+ import { CallBookingState, CallBookingType, CallBookingPurpose } from '@layerfi/components/schemas/callBookings';
8946
+ import type { CallBooking, ListCallBookingsResponse, CreateCallBookingBody } from '@layerfi/components/schemas/callBookings';
8947
+ export type { CallBooking, CreateCallBookingBody };
8948
+ export { CallBookingState, CallBookingType, CallBookingPurpose };
8949
+ class ListCallBookingsSWRResponse {
8950
+ private swrResponse;
8951
+ constructor(swrResponse: SWRInfiniteResponse<ListCallBookingsResponse>);
8952
+ get data(): {
8953
+ readonly data: readonly {
8954
+ readonly id: string;
8955
+ readonly externalId: string;
8956
+ readonly createdAt: Date;
8957
+ readonly updatedAt: Date;
8958
+ readonly deletedAt?: Date | null | undefined;
8959
+ readonly businessId: string;
8960
+ readonly state: CallBookingState;
8961
+ readonly purpose: CallBookingPurpose;
8962
+ readonly callType: CallBookingType;
8963
+ readonly eventStartAt: Date;
8964
+ readonly callLink: URL;
8965
+ readonly cancellationReason?: string | null | undefined;
8966
+ readonly didAttend?: boolean | null | undefined;
8967
+ readonly bookkeeperName: string;
8968
+ readonly bookkeeperEmail: string;
8969
+ }[];
8970
+ readonly meta: {
8971
+ readonly pagination: {
8972
+ readonly cursor: string | null;
8973
+ readonly totalCount: number | undefined;
8974
+ readonly hasMore: boolean;
8975
+ };
8976
+ };
8977
+ }[] | undefined;
8978
+ get isLoading(): boolean;
8979
+ get isValidating(): boolean;
8980
+ get isError(): boolean;
8981
+ }
8982
+ export function useCallBookings(limit?: number): ListCallBookingsSWRResponse;
8983
+ export const CALL_BOOKINGS_TAG_KEY = "#call-bookings";
8984
+
8985
+ }
8986
+ declare module '@layerfi/components/features/callBookings/api/useCreateCallBookings' {
8987
+ export function useCreateCallBooking(): import("swr/dist/mutation").SWRMutationResponse<{
8988
+ readonly id: string;
8989
+ readonly externalId: string;
8990
+ readonly createdAt: Date;
8991
+ readonly updatedAt: Date;
8992
+ readonly deletedAt?: Date | null | undefined;
8993
+ readonly businessId: string;
8994
+ readonly state: import("@layerfi/components/features/callBookings/api/useCallBookings").CallBookingState;
8995
+ readonly purpose: import("@layerfi/components/features/callBookings/api/useCallBookings").CallBookingPurpose;
8996
+ readonly callType: import("@layerfi/components/features/callBookings/api/useCallBookings").CallBookingType;
8997
+ readonly eventStartAt: Date;
8998
+ readonly callLink: URL;
8999
+ readonly cancellationReason?: string | null | undefined;
9000
+ readonly didAttend?: boolean | null | undefined;
9001
+ readonly bookkeeperName: string;
9002
+ readonly bookkeeperEmail: string;
9003
+ }, any, () => {
9004
+ readonly accessToken: string;
9005
+ readonly apiUrl: string;
9006
+ readonly businessId: string;
9007
+ readonly tags: readonly ["#call-bookings:create"];
9008
+ } | undefined, {
9009
+ readonly externalId: string;
9010
+ readonly location?: string | undefined;
9011
+ readonly purpose: import("@layerfi/components/features/callBookings/api/useCallBookings").CallBookingPurpose;
9012
+ readonly callType: import("@layerfi/components/features/callBookings/api/useCallBookings").CallBookingType;
9013
+ readonly eventStartAt?: Date | undefined;
9014
+ readonly cancellationReason?: string | undefined;
9015
+ }>;
9016
+
8560
9017
  }
8561
9018
  declare module '@layerfi/components/features/customerVendor/components/CustomerVendorSelector' {
8562
9019
  import type { CustomerVendorSchema } from '@layerfi/components/features/customerVendor/customerVendorSchemas';
@@ -11262,7 +11719,7 @@ declare module '@layerfi/components/features/ledger/accounts/[ledgerAccountId]/a
11262
11719
  limit?: number;
11263
11720
  show_total_count?: boolean;
11264
11721
  };
11265
- type ListLedgerAccountLinesReturn = {
11722
+ export type ListLedgerAccountLinesReturn = {
11266
11723
  data: LedgerAccountLineItems;
11267
11724
  meta?: {
11268
11725
  pagination: {
@@ -11345,7 +11802,7 @@ declare module '@layerfi/components/features/ledger/entries/api/useListLedgerEnt
11345
11802
  limit?: number;
11346
11803
  show_total_count?: boolean;
11347
11804
  };
11348
- type ListLedgerEntriesReturn = {
11805
+ export type ListLedgerEntriesReturn = {
11349
11806
  data: ReadonlyArray<JournalEntry>;
11350
11807
  meta?: {
11351
11808
  pagination: {
@@ -11929,7 +12386,7 @@ declare module '@layerfi/components/hooks/bookkeeping/useBankAccounts' {
11929
12386
  export const useBankAccounts: () => {
11930
12387
  bankAccounts: BankAccount[];
11931
12388
  isLoading: boolean;
11932
- error: any;
12389
+ isError: boolean;
11933
12390
  disconnectedAccountsRequiringNotification: number;
11934
12391
  };
11935
12392
 
@@ -12067,7 +12524,7 @@ declare module '@layerfi/components/hooks/businessPersonnel/useUpdateBusinessPer
12067
12524
  }
12068
12525
  declare module '@layerfi/components/hooks/categories/useCategories' {
12069
12526
  import { Category } from '@layerfi/components/types';
12070
- import type { CategoriesListMode } from "@layerfi/components/schemas/categorization";
12527
+ import type { CategoriesListMode } from '@layerfi/components/schemas/categorization';
12071
12528
  export const CATEGORIES_TAG_KEY = "#categories";
12072
12529
  export const getCategories: (baseUrl: string, accessToken: string | undefined, options?: {
12073
12530
  params?: {
@@ -12356,21 +12813,18 @@ declare module '@layerfi/components/hooks/useBankTransactions/types' {
12356
12813
  MonthlyView = "MonthlyView",
12357
12814
  GlobalDateRange = "GlobalDateRange"
12358
12815
  }
12359
- export type UseAugmentedBankTransactionsParams = {
12360
- scope?: DisplayState;
12361
- monthlyView?: boolean;
12362
- applyGlobalDateRange?: boolean;
12363
- };
12364
12816
 
12365
12817
  }
12366
12818
  declare module '@layerfi/components/hooks/useBankTransactions/useAugmentedBankTransactions' {
12367
- import { TagFilterInput } from '@layerfi/components/types/tags';
12368
12819
  import { BankTransaction, CategoryUpdate } from '@layerfi/components/types';
12369
- import { Direction, DisplayState } from '@layerfi/components/types/bank_transactions';
12370
- import { BankTransactionFilters, BankTransactionsDateFilterMode, UseAugmentedBankTransactionsParams } from '@layerfi/components/hooks/useBankTransactions/types';
12820
+ import { DisplayState } from '@layerfi/components/types/bank_transactions';
12821
+ import { BankTransactionFilters } from '@layerfi/components/hooks/useBankTransactions/types';
12371
12822
  import { type UseBankTransactionsOptions } from '@layerfi/components/hooks/useBankTransactions/useBankTransactions';
12372
12823
  export function bankTransactionFiltersToHookOptions(filters?: BankTransactionFilters): UseBankTransactionsOptions;
12373
- export const useAugmentedBankTransactions: (params?: UseAugmentedBankTransactionsParams) => {
12824
+ export type UseAugmentedBankTransactionsWithFiltersParams = {
12825
+ filters: BankTransactionFilters;
12826
+ };
12827
+ export const useAugmentedBankTransactions: (params: UseAugmentedBankTransactionsWithFiltersParams) => {
12374
12828
  data: BankTransaction[] | undefined;
12375
12829
  metadata: {
12376
12830
  pagination: {
@@ -12381,27 +12835,12 @@ declare module '@layerfi/components/hooks/useBankTransactions/useAugmentedBankTr
12381
12835
  isLoading: boolean;
12382
12836
  isValidating: boolean;
12383
12837
  refetch: () => void;
12384
- error: any;
12838
+ isError: boolean;
12385
12839
  categorize: (bankTransactionId: BankTransaction["id"], newCategory: CategoryUpdate, notify?: boolean) => Promise<void>;
12386
12840
  match: (bankTransactionId: BankTransaction["id"], suggestedMatchId: string, notify?: boolean) => Promise<void>;
12387
12841
  updateOneLocal: (newBankTransaction: BankTransaction) => void;
12388
12842
  shouldHideAfterCategorize: () => boolean;
12389
12843
  removeAfterCategorize: (bankTransaction: BankTransaction) => void;
12390
- filters: {
12391
- dateRange?: {
12392
- startDate: Date;
12393
- endDate: Date;
12394
- } | undefined;
12395
- amount?: import("@layerfi/components/hooks/useBankTransactions/types").NumericRangeFilter;
12396
- account?: string[];
12397
- direction?: Direction[];
12398
- categorizationStatus?: DisplayState;
12399
- query?: string;
12400
- tagFilter?: TagFilterInput;
12401
- };
12402
- setFilters: (newFilters: BankTransactionFilters) => void;
12403
- dateFilterMode: BankTransactionsDateFilterMode | undefined;
12404
- accountsList: import("@layerfi/components/hooks/useBankTransactions/types").AccountItem[];
12405
12844
  display: DisplayState;
12406
12845
  fetchMore: () => void;
12407
12846
  hasMore: boolean;
@@ -12548,6 +12987,31 @@ declare module '@layerfi/components/hooks/useBills' {
12548
12987
  export const useBills: UseBills;
12549
12988
  export {};
12550
12989
 
12990
+ }
12991
+ declare module '@layerfi/components/hooks/useCalendly/useCalendly' {
12992
+ import { ServiceOfferingLink } from '@layerfi/components/components/ServiceOffering/types';
12993
+ interface CalendlyPayload {
12994
+ event: {
12995
+ uri: string;
12996
+ };
12997
+ invitee: {
12998
+ uri: string;
12999
+ };
13000
+ }
13001
+ export interface CalendlyMessageData {
13002
+ event?: string;
13003
+ payload?: CalendlyPayload;
13004
+ }
13005
+ export const isCalendlyLink: (link?: ServiceOfferingLink) => boolean;
13006
+ export const useCalendly: () => {
13007
+ isCalendlyVisible: boolean;
13008
+ calendlyLink: string;
13009
+ calendlyRef: import("react").RefObject<HTMLDivElement>;
13010
+ openCalendly: (link: string) => void;
13011
+ closeCalendly: () => void;
13012
+ };
13013
+ export {};
13014
+
12551
13015
  }
12552
13016
  declare module '@layerfi/components/hooks/useChartOfAccounts/index' {
12553
13017
  export { useChartOfAccounts } from '@layerfi/components/hooks/useChartOfAccounts/useChartOfAccounts';
@@ -12674,6 +13138,14 @@ declare module '@layerfi/components/hooks/useDataSync/useDataSync' {
12674
13138
  declare module '@layerfi/components/hooks/useDebounce/useDebounce' {
12675
13139
  export function useDebounce<F extends (...args: Parameters<F>) => ReturnType<F>>(fn: F): import("lodash").DebouncedFunc<(...args: Parameters<F>) => void>;
12676
13140
 
13141
+ }
13142
+ declare module '@layerfi/components/hooks/useEffectOnMount/useEffectOnMount' {
13143
+ import type { Awaitable } from '@layerfi/components/types/utility/promises';
13144
+ type Cleanup = () => Awaitable<void>;
13145
+ type OnMount = () => Awaitable<void | Cleanup>;
13146
+ export function useEffectOnMount(fn: OnMount): void;
13147
+ export {};
13148
+
12677
13149
  }
12678
13150
  declare module '@layerfi/components/hooks/useElementSize/index' {
12679
13151
  export { useElementSize } from '@layerfi/components/hooks/useElementSize/useElementSize';
@@ -12722,6 +13194,7 @@ declare module '@layerfi/components/hooks/useJournal/useJournal' {
12722
13194
  import { FormError, FormErrorWithId } from '@layerfi/components/types';
12723
13195
  import { BaseSelectOption } from '@layerfi/components/types/general';
12724
13196
  import { JournalEntry, NewApiJournalEntry, NewFormJournalEntry } from '@layerfi/components/types/journal';
13197
+ import { type ListLedgerEntriesReturn } from '@layerfi/components/features/ledger/entries/api/useListLedgerEntries';
12725
13198
  import { LedgerAccountBalance } from '@layerfi/components/types/journal';
12726
13199
  type UseJournal = () => {
12727
13200
  data?: ReadonlyArray<JournalEntry>;
@@ -12731,11 +13204,11 @@ declare module '@layerfi/components/hooks/useJournal/useJournal' {
12731
13204
  isValidatingEntry?: boolean;
12732
13205
  error?: unknown;
12733
13206
  errorEntry?: unknown;
12734
- refetch: () => void;
13207
+ refetch: () => Promise<ListLedgerEntriesReturn[] | undefined>;
12735
13208
  selectedEntryId?: string;
12736
13209
  setSelectedEntryId: (id?: string) => void;
12737
13210
  closeSelectedEntry: () => void;
12738
- create: (newJournalEntry: NewApiJournalEntry) => void;
13211
+ create: (newJournalEntry: NewApiJournalEntry) => Promise<void>;
12739
13212
  changeFormData: (name: string, value: string | BaseSelectOption | undefined | number, lineItemIndex?: number, accounts?: LedgerAccountBalance[]) => void;
12740
13213
  submitForm: () => void;
12741
13214
  cancelForm: () => void;
@@ -12769,6 +13242,7 @@ declare module '@layerfi/components/hooks/useLedgerAccounts/index' {
12769
13242
  }
12770
13243
  declare module '@layerfi/components/hooks/useLedgerAccounts/useLedgerAccounts' {
12771
13244
  import { LedgerAccounts, LedgerAccountsEntry } from '@layerfi/components/types';
13245
+ import { type ListLedgerAccountLinesReturn } from '@layerfi/components/features/ledger/accounts/[ledgerAccountId]/api/useListLedgerAccountLines';
12772
13246
  import type { LedgerAccountBalanceWithNodeType } from '@layerfi/components/types/chart_of_accounts';
12773
13247
  type UseLedgerAccounts = (showReversalEntries: boolean) => {
12774
13248
  data?: LedgerAccounts;
@@ -12779,7 +13253,7 @@ declare module '@layerfi/components/hooks/useLedgerAccounts/useLedgerAccounts' {
12779
13253
  isValidatingEntry?: boolean;
12780
13254
  error?: unknown;
12781
13255
  errorEntry?: unknown;
12782
- refetch: () => void;
13256
+ refetch: () => Promise<ListLedgerAccountLinesReturn[] | undefined>;
12783
13257
  selectedAccount: LedgerAccountBalanceWithNodeType | undefined;
12784
13258
  setSelectedAccount: (account: LedgerAccountBalanceWithNodeType | undefined) => void;
12785
13259
  selectedEntryId?: string;
@@ -12863,7 +13337,6 @@ declare module '@layerfi/components/hooks/useLinkedAccounts/mockData' {
12863
13337
  declare module '@layerfi/components/hooks/useLinkedAccounts/useLinkedAccounts' {
12864
13338
  import { LoadedStatus } from '@layerfi/components/types/general';
12865
13339
  import { LinkedAccount, AccountSource } from '@layerfi/components/types/linked_accounts';
12866
- import type { Awaitable } from '@layerfi/components/types/utility/promises';
12867
13340
  export function getAccountsNeedingConfirmation(linkedAccounts: ReadonlyArray<LinkedAccount>): LinkedAccount[];
12868
13341
  type UseLinkedAccounts = () => {
12869
13342
  data?: LinkedAccount[];
@@ -12871,18 +13344,18 @@ declare module '@layerfi/components/hooks/useLinkedAccounts/useLinkedAccounts' {
12871
13344
  loadingStatus: LoadedStatus;
12872
13345
  isValidating: boolean;
12873
13346
  error: unknown;
12874
- addConnection: (source: AccountSource) => void;
12875
- removeConnection: (source: AccountSource, sourceId: string) => void;
12876
- repairConnection: (source: AccountSource, sourceId: string) => void;
12877
- updateConnectionStatus: () => void;
12878
- refetchAccounts: () => Awaitable<void>;
12879
- syncAccounts: () => void;
12880
- unlinkAccount: (source: AccountSource, userCreated: boolean, accountId: string) => void;
12881
- confirmAccount: (source: AccountSource, accountId: string) => void;
12882
- excludeAccount: (source: AccountSource, accountId: string) => void;
13347
+ addConnection: (source: AccountSource) => Promise<void>;
13348
+ removeConnection: (source: AccountSource, sourceId: string) => Promise<void>;
13349
+ repairConnection: (source: AccountSource, sourceId: string) => Promise<void>;
13350
+ updateConnectionStatus: () => Promise<void>;
13351
+ refetchAccounts: () => Promise<void>;
13352
+ syncAccounts: () => Promise<void>;
13353
+ unlinkAccount: (source: AccountSource, userCreated: boolean, accountId: string) => Promise<void>;
13354
+ confirmAccount: (source: AccountSource, accountId: string) => Promise<void>;
13355
+ excludeAccount: (source: AccountSource, accountId: string) => Promise<void>;
12883
13356
  accountsToAddOpeningBalanceInModal: LinkedAccount[];
12884
13357
  setAccountsToAddOpeningBalanceInModal: (accounts: LinkedAccount[]) => void;
12885
- breakConnection: (source: AccountSource, connectionExternalId: string) => void;
13358
+ breakConnection: (source: AccountSource, connectionExternalId: string) => Promise<void>;
12886
13359
  };
12887
13360
  export const useLinkedAccounts: UseLinkedAccounts;
12888
13361
  export {};
@@ -15232,6 +15705,7 @@ declare module '@layerfi/components/index' {
15232
15705
  export { ChartOfAccounts } from '@layerfi/components/components/ChartOfAccounts/index';
15233
15706
  export { Journal } from '@layerfi/components/components/Journal/index';
15234
15707
  export { Tasks } from '@layerfi/components/components/Tasks/Tasks';
15708
+ export { ServiceOffering } from '@layerfi/components/components/ServiceOffering/ServiceOffering';
15235
15709
  export { LinkAccounts } from '@layerfi/components/components/PlatformOnboarding/LinkAccounts';
15236
15710
  export { PlatformOnboarding } from '@layerfi/components/components/PlatformOnboarding/PlatformOnboarding';
15237
15711
  export { BookkeepingUpsellBar } from '@layerfi/components/components/UpsellBanner/index';
@@ -15334,10 +15808,11 @@ declare module '@layerfi/components/providers/AuthInputProvider' {
15334
15808
  }
15335
15809
  declare module '@layerfi/components/providers/BankTransactionsProvider/BankTransactionsProvider' {
15336
15810
  import { ReactNode } from 'react';
15337
- interface BankTransactionsProviderProps {
15811
+ import { useBankTransactionsFiltersParams } from '@layerfi/components/contexts/BankTransactionsFiltersContext/useBankTransactionsFilters';
15812
+ interface BankTransactionsProviderProps extends useBankTransactionsFiltersParams {
15338
15813
  children: ReactNode;
15339
15814
  }
15340
- export const BankTransactionsProvider: ({ children, }: BankTransactionsProviderProps) => import("react/jsx-runtime").JSX.Element;
15815
+ export const BankTransactionsProvider: ({ children, scope, monthlyView, applyGlobalDateRange, }: BankTransactionsProviderProps) => import("react/jsx-runtime").JSX.Element;
15341
15816
  export {};
15342
15817
 
15343
15818
  }
@@ -22320,6 +22795,121 @@ declare module '@layerfi/components/schemas/bankTransactions/match' {
22320
22795
  }>>]>;
22321
22796
  }>;
22322
22797
 
22798
+ }
22799
+ declare module '@layerfi/components/schemas/callBookings' {
22800
+ import { Schema } from 'effect';
22801
+ export enum CallBookingState {
22802
+ SCHEDULED = "SCHEDULED",
22803
+ CANCELLED = "CANCELLED",
22804
+ COMPLETED = "COMPLETED"
22805
+ }
22806
+ export enum CallBookingType {
22807
+ ZOOM = "ZOOM",
22808
+ GOOGLE_MEET = "GOOGLE_MEET"
22809
+ }
22810
+ export enum CallBookingPurpose {
22811
+ BOOKKEEPING_ONBOARDING = "BOOKKEEPING_ONBOARDING",
22812
+ ADHOC = "ADHOC"
22813
+ }
22814
+ export const CallBookingSchema: Schema.Struct<{
22815
+ id: typeof Schema.UUID;
22816
+ businessId: Schema.PropertySignature<":", string, "business_id", ":", string, false, never>;
22817
+ externalId: Schema.PropertySignature<":", string, "external_id", ":", string, false, never>;
22818
+ purpose: Schema.transform<typeof Schema.NonEmptyTrimmedString, Schema.SchemaClass<CallBookingPurpose, CallBookingPurpose, never>>;
22819
+ state: Schema.transform<typeof Schema.NonEmptyTrimmedString, Schema.SchemaClass<CallBookingState, CallBookingState, never>>;
22820
+ callType: Schema.PropertySignature<":", CallBookingType, "call_type", ":", string, false, never>;
22821
+ eventStartAt: Schema.PropertySignature<":", Date, "event_start_at", ":", string, false, never>;
22822
+ callLink: Schema.PropertySignature<":", URL, "call_link", ":", string, false, never>;
22823
+ cancellationReason: Schema.PropertySignature<"?:", string | null | undefined, "cancellation_reason", "?:", string | null | undefined, false, never>;
22824
+ didAttend: Schema.PropertySignature<"?:", boolean | null | undefined, "did_attend", "?:", boolean | null | undefined, false, never>;
22825
+ bookkeeperName: Schema.PropertySignature<":", string, "bookkeeper_name", ":", string, false, never>;
22826
+ bookkeeperEmail: Schema.PropertySignature<":", string, "bookkeeper_email", ":", string, false, never>;
22827
+ createdAt: Schema.PropertySignature<":", Date, "created_at", ":", string, false, never>;
22828
+ updatedAt: Schema.PropertySignature<":", Date, "updated_at", ":", string, false, never>;
22829
+ deletedAt: Schema.PropertySignature<"?:", Date | null | undefined, "deleted_at", "?:", string | null | undefined, false, never>;
22830
+ }>;
22831
+ export type CallBooking = typeof CallBookingSchema.Type;
22832
+ export const ListCallBookingsResponseSchema: Schema.Struct<{
22833
+ data: Schema.Array$<Schema.Struct<{
22834
+ id: typeof Schema.UUID;
22835
+ businessId: Schema.PropertySignature<":", string, "business_id", ":", string, false, never>;
22836
+ externalId: Schema.PropertySignature<":", string, "external_id", ":", string, false, never>;
22837
+ purpose: Schema.transform<typeof Schema.NonEmptyTrimmedString, Schema.SchemaClass<CallBookingPurpose, CallBookingPurpose, never>>;
22838
+ state: Schema.transform<typeof Schema.NonEmptyTrimmedString, Schema.SchemaClass<CallBookingState, CallBookingState, never>>;
22839
+ callType: Schema.PropertySignature<":", CallBookingType, "call_type", ":", string, false, never>;
22840
+ eventStartAt: Schema.PropertySignature<":", Date, "event_start_at", ":", string, false, never>;
22841
+ callLink: Schema.PropertySignature<":", URL, "call_link", ":", string, false, never>;
22842
+ cancellationReason: Schema.PropertySignature<"?:", string | null | undefined, "cancellation_reason", "?:", string | null | undefined, false, never>;
22843
+ didAttend: Schema.PropertySignature<"?:", boolean | null | undefined, "did_attend", "?:", boolean | null | undefined, false, never>;
22844
+ bookkeeperName: Schema.PropertySignature<":", string, "bookkeeper_name", ":", string, false, never>;
22845
+ bookkeeperEmail: Schema.PropertySignature<":", string, "bookkeeper_email", ":", string, false, never>;
22846
+ createdAt: Schema.PropertySignature<":", Date, "created_at", ":", string, false, never>;
22847
+ updatedAt: Schema.PropertySignature<":", Date, "updated_at", ":", string, false, never>;
22848
+ deletedAt: Schema.PropertySignature<"?:", Date | null | undefined, "deleted_at", "?:", string | null | undefined, false, never>;
22849
+ }>>;
22850
+ meta: Schema.Struct<{
22851
+ pagination: Schema.Struct<{
22852
+ cursor: Schema.NullOr<typeof Schema.String>;
22853
+ hasMore: Schema.PropertySignature<":", boolean, "has_more", ":", boolean, false, never>;
22854
+ totalCount: Schema.PropertySignature<":", number | undefined, "total_count", ":", number | undefined, false, never>;
22855
+ }>;
22856
+ }>;
22857
+ }>;
22858
+ export type ListCallBookingsResponse = typeof ListCallBookingsResponseSchema.Type;
22859
+ export const CallBookingItemResponseSchema: Schema.Struct<{
22860
+ data: Schema.Struct<{
22861
+ id: typeof Schema.UUID;
22862
+ businessId: Schema.PropertySignature<":", string, "business_id", ":", string, false, never>;
22863
+ externalId: Schema.PropertySignature<":", string, "external_id", ":", string, false, never>;
22864
+ purpose: Schema.transform<typeof Schema.NonEmptyTrimmedString, Schema.SchemaClass<CallBookingPurpose, CallBookingPurpose, never>>;
22865
+ state: Schema.transform<typeof Schema.NonEmptyTrimmedString, Schema.SchemaClass<CallBookingState, CallBookingState, never>>;
22866
+ callType: Schema.PropertySignature<":", CallBookingType, "call_type", ":", string, false, never>;
22867
+ eventStartAt: Schema.PropertySignature<":", Date, "event_start_at", ":", string, false, never>;
22868
+ callLink: Schema.PropertySignature<":", URL, "call_link", ":", string, false, never>;
22869
+ cancellationReason: Schema.PropertySignature<"?:", string | null | undefined, "cancellation_reason", "?:", string | null | undefined, false, never>;
22870
+ didAttend: Schema.PropertySignature<"?:", boolean | null | undefined, "did_attend", "?:", boolean | null | undefined, false, never>;
22871
+ bookkeeperName: Schema.PropertySignature<":", string, "bookkeeper_name", ":", string, false, never>;
22872
+ bookkeeperEmail: Schema.PropertySignature<":", string, "bookkeeper_email", ":", string, false, never>;
22873
+ createdAt: Schema.PropertySignature<":", Date, "created_at", ":", string, false, never>;
22874
+ updatedAt: Schema.PropertySignature<":", Date, "updated_at", ":", string, false, never>;
22875
+ deletedAt: Schema.PropertySignature<"?:", Date | null | undefined, "deleted_at", "?:", string | null | undefined, false, never>;
22876
+ }>;
22877
+ }>;
22878
+ export type CallBookingItemResponse = typeof CallBookingItemResponseSchema.Type;
22879
+ const CreateCallBookingBodySchemaDefinition: Schema.Struct<{
22880
+ externalId: Schema.PropertySignature<":", string, "external_id", ":", string, false, never>;
22881
+ purpose: Schema.Enums<typeof CallBookingPurpose>;
22882
+ callType: Schema.PropertySignature<":", CallBookingType, "call_type", ":", CallBookingType, false, never>;
22883
+ eventStartAt: Schema.PropertySignature<"?:", Date | undefined, "event_start_at", "?:", string | undefined, false, never>;
22884
+ location: Schema.optional<typeof Schema.String>;
22885
+ cancellationReason: Schema.PropertySignature<"?:", string | undefined, "cancellation_reason", "?:", string | undefined, false, never>;
22886
+ }>;
22887
+ export const CreateCallBookingBodySchema: Schema.Struct<{
22888
+ externalId: Schema.PropertySignature<":", string, "external_id", ":", string, false, never>;
22889
+ purpose: Schema.Enums<typeof CallBookingPurpose>;
22890
+ callType: Schema.PropertySignature<":", CallBookingType, "call_type", ":", CallBookingType, false, never>;
22891
+ eventStartAt: Schema.PropertySignature<"?:", Date | undefined, "event_start_at", "?:", string | undefined, false, never>;
22892
+ location: Schema.optional<typeof Schema.String>;
22893
+ cancellationReason: Schema.PropertySignature<"?:", string | undefined, "cancellation_reason", "?:", string | undefined, false, never>;
22894
+ }>;
22895
+ export const encodeCreateCallBookingBody: (a: {
22896
+ readonly externalId: string;
22897
+ readonly location?: string | undefined;
22898
+ readonly purpose: CallBookingPurpose;
22899
+ readonly callType: CallBookingType;
22900
+ readonly eventStartAt?: Date | undefined;
22901
+ readonly cancellationReason?: string | undefined;
22902
+ }, overrideOptions?: import("effect/SchemaAST").ParseOptions) => {
22903
+ readonly external_id: string;
22904
+ readonly purpose: CallBookingPurpose;
22905
+ readonly call_type: CallBookingType;
22906
+ readonly location?: string | undefined;
22907
+ readonly event_start_at?: string | undefined;
22908
+ readonly cancellation_reason?: string | undefined;
22909
+ };
22910
+ export type CreateCallBookingBody = typeof CreateCallBookingBodySchemaDefinition.Type;
22911
+ export {};
22912
+
22323
22913
  }
22324
22914
  declare module '@layerfi/components/schemas/categorization' {
22325
22915
  import { Schema } from 'effect';
@@ -25921,9 +26511,15 @@ declare module '@layerfi/components/types/bank_transactions' {
25921
26511
  customer?: typeof CustomerSchema.Encoded | null;
25922
26512
  vendor?: typeof VendorSchema.Encoded | null;
25923
26513
  };
26514
+ export interface AccountInstitution {
26515
+ name: string;
26516
+ logo: string | null;
26517
+ }
25924
26518
  export interface BankTransaction extends Record<string, unknown> {
25925
26519
  type: 'Bank_Transaction';
25926
26520
  account_name?: string;
26521
+ account_institution?: AccountInstitution;
26522
+ account_mask?: string;
25927
26523
  business_id: string;
25928
26524
  recently_categorized?: boolean;
25929
26525
  id: string;
@@ -27623,13 +28219,14 @@ declare module '@layerfi/components/views/BookkeepingOverview/BookkeepingOvervie
27623
28219
  };
27624
28220
  };
27625
28221
  };
28222
+ _showBookACall?: boolean;
27626
28223
  onClickReconnectAccounts?: () => void;
27627
28224
  /**
27628
28225
  * @deprecated Use `stringOverrides.title` instead
27629
28226
  */
27630
28227
  title?: string;
27631
28228
  }
27632
- export const BookkeepingOverview: ({ title, showTitle, onClickReconnectAccounts, stringOverrides, slotProps, }: BookkeepingOverviewProps) => import("react/jsx-runtime").JSX.Element;
28229
+ export const BookkeepingOverview: ({ title, showTitle, onClickReconnectAccounts, stringOverrides, slotProps, _showBookACall, }: BookkeepingOverviewProps) => import("react/jsx-runtime").JSX.Element;
27633
28230
 
27634
28231
  }
27635
28232
  declare module '@layerfi/components/views/BookkeepingOverview/index' {