import * as _emotion_react_jsx_runtime from '@emotion/react/jsx-runtime';
import * as _monite_sdk_api from '@monite/sdk-api';
import { CounterpartType, PayableStateEnum, CounterpartCursorFields, ApprovalPolicyCursorFields, PayableCursorFields, ReceivableCursorFields, ReceivableResponse, ProductServiceTypeEnum, ProductServiceResponse, ProductCursorFields, CurrencyEnum, TagCursorFields, TagReadSchema, MoniteSDK, AllowedCountries, PayableResponseSchema, ApiError, PayableUploadWithDataSchema, PayableUpdateSchema, LineItemResponse, TagsPaginationResponse, TagCreateOrUpdateSchema, CounterpartAddressResponseWithCounterpartID, CounterpartUpdateAddress, CounterpartBankAccountResponse, CreateCounterpartBankAccount, CounterpartVatIDResponse, CounterpartVatID, CounterpartContactResponse, CreateCounterpartContactPayload, CounterpartPaginationResponse, CounterpartResponse, CounterpartCreatePayload, CounterpartUpdatePayload, UpdateCounterpartContactPayload, UpdateCounterpartBankAccount, EntityUserPaginationResponse, EntityUserResponse, RoleResponse, PartnerProjectSettingsResponse, ReceivablesStatusEnum, ReceivablePaginationResponse, ReceivableFacadeCreatePayload, ReceivableSendResponse, ReceivableSendRequest, ReceivableFileUrl, ProductsService, ProductServicePaginationResponse, ProductServiceRequest, PaymentTermsListResponse, UnitListResponse, UnitResponse, VatRatesService, VatRateListResponse, ApprovalPoliciesGetAllRequest, ApprovalPolicyResourceList, ApprovalPolicyResource, FilesResponse, FileResponse, UploadFile } from '@monite/sdk-api';
import { GridSortDirection } from '@mui/x-data-grid/models/gridSortModel';
import * as react from 'react';
import react__default, { ReactNode } from 'react';
import { DialogProps } from '@mui/material/Dialog';
import { Messages, I18n } from '@lingui/core';
import { ThemeOptions, Theme } from '@mui/material';
import { Components } from '@mui/material/styles/components';
import { Palette } from '@mui/material/styles/createPalette';
import { Theme as Theme$1, ThemeOptions as ThemeOptions$1 } from '@mui/material/styles/createTheme';
import { TypographyOptions } from '@mui/material/styles/createTypography';
export { toast } from 'react-hot-toast';
import * as _tanstack_react_query from '@tanstack/react-query';

/**
 * Default values for the form fields
 */
type CounterpartDefaultValues = {
    isVendor?: boolean;
    isCustomer?: boolean;
};
type CounterpartShowCategories = {
    /**
     * Show or hide `categories` section.
     * (
     *  `categories` section responsible for checks `isVendor` and `isCustomer`
     *  )
     *  Defaults to `true`.
     */
    showCategories: boolean;
};

declare enum SortOrderEnum {
    ASC = "asc",
    DESC = "desc"
}

declare const FILTER_TYPE_SEARCH$3 = "search";
declare const FILTER_TYPE_TYPE$1 = "type";
declare const FILTER_TYPE_IS_CUSTOMER = "is_customer";

type Filters$1 = {
    [FILTER_TYPE_SEARCH$3]?: string | null;
    [FILTER_TYPE_TYPE$1]?: CounterpartType | null;
    [FILTER_TYPE_IS_CUSTOMER]?: string | null;
};
type FilterValue$3 = PayableStateEnum | 'all' | Date | string | null;

interface CounterpartsTableSortModel {
    field: CounterpartCursorFields;
    sort: GridSortDirection;
}
/**
 * Props for the CounterpartsTable component.
 */
type CounterpartsTableProps = Partial<CounterpartShowCategories> & {
    /**
     * Callback function that is called when the edit action is triggered.
     * @param id - The ID of the counterpart to be edited.
     */
    onEdit?: (id: string) => void;
    /**
     * Callback function that is called when the delete action is triggered.
     * @param id - The ID of the counterpart to be deleted.
     */
    onDelete?: (id: string) => void;
    /**
     * Callback function that is called when a row is clicked.
     * @param id - The ID of the clicked counterpart.
     */
    onRowClick?: (id: string) => void;
    /**
     * Callback function that is called when the sort order is changed.
     * @param params - An object containing the sort field and the sort order.
     * @param params.field - The field to sort by.
     * @param params.sort - The sort order (either ascending, descending, or null).
     */
    onChangeSort?: (params: CounterpartsTableSortModel) => void;
    /**
     * Callback function that is called when the filter is changed.
     * @param filter - An object containing the filter field and value.
     * @param filter.field - The field to filter by.
     * @param filter.value - The value to filter with.
     */
    onChangeFilter?: (filter: {
        field: keyof Filters$1;
        value: FilterValue$3;
    }) => void;
};
declare const CounterpartsTable: ({ onRowClick, onEdit, onDelete, onChangeSort: onChangeSortCallback, onChangeFilter: onChangeFilterCallback, showCategories, }: CounterpartsTableProps) => _emotion_react_jsx_runtime.JSX.Element;

type CounterpartsFormProps = {
    /**
     * If `id` provided, then counterparts form works in `update` mode.
     * If `id` is NOT provided, then counterparts form works in `create` mode
     */
    id?: string;
    onCancel?: () => void;
    onCreate?: (id: string) => void;
    onUpdate?: (id: string) => void;
    /**
     * Default values for the form fields
     */
    defaultValues?: CounterpartDefaultValues;
} & CounterpartShowCategories;

type CounterpartId = string;
type BankAccountId = string;
type VatId = string;
/**
 * `ExistingCounterpartDetail` is used when we have an `id`
 *  for existing counterpart and want to display it
 *  for editing or removing
 */
interface ExistingCounterpartDetail extends CommonCounterpartDetailsProps {
    id: CounterpartId;
    type?: undefined;
}
/**
 * `NewCounterpartDetail` is used when we DO NOT have an `id`
 *  and want to create a new counterpart. But we must provide
 *  a `type` field
 */
interface NewCounterpartDetail extends CommonCounterpartDetailsProps, Pick<CounterpartsFormProps, 'defaultValues'> {
    id?: undefined;
    type: CounterpartType;
}
interface CommonCounterpartDetailsProps extends Partial<CounterpartShowCategories> {
    /** Should bank accounts data be displayed. By default, set to `true` */
    showBankAccounts?: boolean;
    /**
     * Triggers only when the user updated address information
     *  successfully (it's saved on back-end side with no errors)
     */
    onAddressUpdate?: (id: CounterpartId) => void;
    /**
     * Triggers when the user filled and submitted
     *  new counterpart information
     *  and Monite saved the data on back-end side
     */
    onCreate?: (id: CounterpartId) => void;
    /**
     * Triggers when the user updated and submitted
     *  counterpart information
     *  and Monite saved the data on back-end side
     */
    onUpdate?: (id: CounterpartId) => void;
    /**
     * Triggers when we click on `delete` button,
     *  and we saved these the data on back-end side
     */
    onDelete?: (id: CounterpartId) => void;
    onContactCreate?: (id: CounterpartId) => void;
    onContactUpdate?: (id: CounterpartId) => void;
    onContactDelete?: (id: CounterpartId) => void;
    onBankCreate?: (id: BankAccountId) => void;
    onBankUpdate?: (id: BankAccountId) => void;
    onBankDelete?: (id: BankAccountId) => void;
    onVatCreate?: (id: VatId) => void;
    onVatUpdate?: (id: VatId) => void;
    onVatDelete?: (id: VatId) => void;
}
type CounterpartsDetailsProps = ExistingCounterpartDetail | NewCounterpartDetail;

declare const CounterpartDetails: (props: CounterpartsDetailsProps) => _emotion_react_jsx_runtime.JSX.Element;

declare const Counterparts: () => _emotion_react_jsx_runtime.JSX.Element;

declare const FILTER_TYPE_SEARCH$2 = "search";
declare const FILTER_TYPE_STATUS = "status";
declare const FILTER_TYPE_DUE_DATE = "due_date";
declare const FILTER_TYPE_CREATED_AT = "created_at";

declare const FILTER_TYPE_SEARCH$1 = "search";

declare const FILTER_TYPE_CREATED_BY = "created_by";

type FilterTypes$1 = {
    [FILTER_TYPE_SEARCH$1]?: string | null;
    [FILTER_TYPE_CREATED_AT]?: Date | null;
    [FILTER_TYPE_CREATED_BY]?: string | null;
};
type FilterValue$2 = Date | string | null;

interface Props$6 {
    onChangeSort?: (params: {
        sort: ApprovalPolicyCursorFields;
        order: SortOrderEnum | null;
    }) => void;
    onChangeFilter?: (filter: {
        field: keyof FilterTypes$1;
        value: FilterValue$2;
    }) => void;
}
declare const ApprovalPoliciesTable: ({ onChangeFilter: onChangeFilterCallback, }: Props$6) => _emotion_react_jsx_runtime.JSX.Element;

declare const ApprovalPolicies: () => _emotion_react_jsx_runtime.JSX.Element;

type OptionalFields = {
    invoiceDate?: boolean;
    tags?: boolean;
};

type LineItem = {
    id: string;
    name: string;
    quantity: number;
    price: number;
    tax: number;
};

type UsePayableDetailsProps = {
    /**
     * The ID of the payable
     */
    id?: string;
    /**
     * Callback function that is called when the payable is saved
     *
     * @param {string} id - The ID of the payable
     *
     * @returns {void}
     *
     * @deprecated Please use `onSaved` method instead. This method will be removed in 4.0.0 version
     */
    onSave?: (id: string) => void;
    /**
     * Callback function that is called when the payable is canceled
     *
     * @param {string} id - The ID of the payable
     *
     * @returns {void}
     *
     * @deprecated Please use `onCanceled` method instead. This method will be removed in 4.0.0 version
     */
    onCancel?: (id: string) => void;
    /**
     * Callback function that is called when the payable is submitted
     *
     * @param {string} id - The ID of the payable
     *
     * @returns {void}
     *
     * @deprecated Please use `onSubmitted` method instead. This method will be removed in 4.0.0 version
     */
    onSubmit?: (id: string) => void;
    /**
     * Callback function that is called when the payable is rejected
     *
     * @param {string} id - The ID of the payable
     *
     * @returns {void}
     *
     * @deprecated Please use `onRejected` method instead. This method will be removed in 4.0.0 version
     */
    onReject?: (id: string) => void;
    /**
     * Callback function that is called when the payable is approved
     *
     * @param {string} id - The ID of the payable
     *
     * @returns {void}
     *
     * @deprecated Please use `onApproved` method instead. This method will be removed in 4.0.0 version
     */
    onApprove?: (id: string) => void;
    /**
     * Callback function that is called when the payable is saved
     *
     * @param {string} id - The ID of the payable
     *
     * @returns {void}
     */
    onSaved?: (id: string) => void;
    /**
     * Callback function that is called when the payable is canceled
     *
     * @param {string} id - The ID of the payable
     *
     * @returns {void}
     */
    onCanceled?: (id: string) => void;
    /**
     * Callback function that is called when the payable is submitted
     *
     * @param {string} id - The ID of the payable
     *
     * @returns {void}
     */
    onSubmitted?: (id: string) => void;
    /**
     * Callback function that is called when the payable is rejected
     *
     * @param {string} id - The ID of the payable
     *
     * @returns {void}
     */
    onRejected?: (id: string) => void;
    /**
     * Callback function that is called when the payable is approved
     *
     * @param {string} id - The ID of the payable
     *
     * @returns {void}
     */
    onApproved?: (id: string) => void;
    /**
     * Callback function that is called when the user press the Pay button
     *
     * @param {string} id - The ID of the payable
     *
     * @returns {void}
     */
    onPay?: (id: string) => void;
};

interface PayablesDetailsProps extends UsePayableDetailsProps {
    onClose?: () => void;
    optionalFields?: OptionalFields;
}
declare const PayableDetails: ({ id, optionalFields, onClose, onSave, onCancel, onSubmit, onReject, onApprove, onSaved, onCanceled, onSubmitted, onRejected, onApproved, onPay, }: PayablesDetailsProps) => _emotion_react_jsx_runtime.JSX.Element;

type FilterTypes = {
    [FILTER_TYPE_SEARCH$2]?: string | null;
    [FILTER_TYPE_STATUS]?: PayableStateEnum | null;
    [FILTER_TYPE_DUE_DATE]?: Date | null;
    [FILTER_TYPE_CREATED_AT]?: Date | null;
};
type FilterValue$1 = PayableStateEnum | 'all' | Date | string | null;

interface Props$5 {
    /**
     * The event handler for a row click.
     *
     * @param id - The identifier of the clicked row, a string.
     */
    onRowClick?: (id: string) => void;
    /**
     * The event handler for the pay action
     *
     * @param id - The identifier of the row to perform the pay action on, a string.
     */
    onPay?: (id: string) => void;
    /**
     * Triggered when the filtering options are changed
     *
     * @param filter - An object containing the filter parameters.
     * @param filter.field - The field to filter by, specified as a keyof FilterTypes.
     * @param filter.value - The value to be applied to the filter, of type FilterValue.
     */
    onChangeFilter?: (filter: {
        field: keyof FilterTypes;
        value: FilterValue$1;
    }) => void;
    /**
     * Triggered when the sorting options are changed
     *
     * @param params - An object containing the sorting parameters.
     * @param params.sort - The field to sort by, in this case PayableCursorFields.CREATED_AT.
     * @param params.order - The sort order can be either SortOrderEnum values or null.
     */
    onChangeSort?: (params: {
        sort: PayableCursorFields.CREATED_AT;
        order: SortOrderEnum | null;
    }) => void;
}
declare const PayablesTable: ({ onRowClick, onPay, onChangeFilter: onChangeFilterCallback, }: Props$5) => _emotion_react_jsx_runtime.JSX.Element;

type PayablesProps = Pick<UsePayableDetailsProps, 'onSaved' | 'onCanceled' | 'onSubmitted' | 'onRejected' | 'onApproved' | 'onPay'>;
declare const Payables: ({ onSaved, onCanceled, onSubmitted, onRejected, onApproved, onPay, }: PayablesProps) => _emotion_react_jsx_runtime.JSX.Element;

type Props$4 = {
    /**
     * The event handler for a row click.
     *
     * @param id - The identifier of the clicked row, a string.
     */
    onRowClick?: (id: string) => void;
};
declare const InvoicesTable: ({ onRowClick }: Props$4) => _emotion_react_jsx_runtime.JSX.Element;

interface QuotesTableSortModel {
    field: ReceivableCursorFields;
    sort: GridSortDirection;
}
type Props$3 = {
    /**
     * The event handler for a row click.
     *
     * @param id - The identifier of the clicked row, a string.
     */
    onRowClick?: (id: string) => void;
    /**
     * The event handler for a sort change.
     *
     * @param {QuotesTableSortModel} params - The sort model.
     */
    onChangeSort?: (params: QuotesTableSortModel) => void;
};
declare const QuotesTable: ({ onRowClick, onChangeSort: onChangeSortCallback, }: Props$3) => _emotion_react_jsx_runtime.JSX.Element;

type Props$2 = {
    /**
     * The event handler for a row click.
     *
     * @param id - The identifier of the clicked row, a string.
     */
    onRowClick?: (id: string) => void;
};
declare const CreditNotesTable: ({ onRowClick }: Props$2) => _emotion_react_jsx_runtime.JSX.Element;

interface ExistingInvoiceDetailsProps {
    /** Receivable ID */
    id: string;
    type?: never;
    /**
     * Indicates that the invoice has been deleted.
     *
     * Only draft invoices can be deleted. Deleted invoices
     *  can no longer be accessed.
     *
     * @param {string} invoiceId Invoice ID
     *
     * @returns {void}
     */
    onDelete?: (invoiceId: string) => void;
    /**
     * Indicates that the invoice has been finalized
     *  and issued to a counterpart. Issued invoices
     *  cannot be edited or deleted, just canceled.
     *
     * @param {string} invoiceId Invoice ID
     *
     * @returns {void}
     */
    onIssue?: (invoiceId: string) => void;
    /**
     * Indicates that the invoice has been canceled.
     *
     * The counterpart cannot view or make payments
     *  against a canceled invoice, although the entity
     *  can still view it.
     *
     * Only unpaid issued and overdue invoices can be canceled.
     *
     * @param {string} invoiceId Invoice ID
     *
     * @returns {void}
     */
    onCancel?: (invoiceId: string) => void;
    /**
     * Indicates that a counterpart is unlikely to pay this invoice.
     *
     * The difference between uncollectible and canceled is that
     *  uncollectible still has a legal claim on the counterpart.
     *
     * Uncollectible is also a final state after handing over an invoice
     *  to a debt collection agency that was not able to retrieve the funds.
     *
     * For bookkeeping, this is a right off and has a tax implication.
     *
     * @param {string} invoiceId Invoice ID
     *
     * @returns {void}
     */
    onMarkAsUncollectible?: (invoiceId: string) => void;
}
interface InvoiceDetailsCreateProps {
    id?: never;
    /** The type of the receivable */
    type: ReceivableResponse['type'];
    /**
     * Indicates that the invoice has been successfuly created.
     *
     * @param {string} receivableId Invoice ID
     *
     * @returns {void}
     */
    onCreate?: (receivableId: string) => void;
}
type InvoiceDetailsProps = ExistingInvoiceDetailsProps | InvoiceDetailsCreateProps;

declare const InvoiceDetails: (props: InvoiceDetailsProps) => _emotion_react_jsx_runtime.JSX.Element;

declare const Receivables: () => _emotion_react_jsx_runtime.JSX.Element;

/**
 * Onboarding component
 * @alpha
 * @description Onboarding component has not yet been released.
 */
declare function Onboarding(): _emotion_react_jsx_runtime.JSX.Element;

declare const Products: () => _emotion_react_jsx_runtime.JSX.Element;

declare const FILTER_TYPE_SEARCH = "search";
declare const FILTER_TYPE_TYPE = "type";
declare const FILTER_TYPE_UNITS = "units";

type Filters = {
    [FILTER_TYPE_SEARCH]?: string | null;
    [FILTER_TYPE_TYPE]?: ProductServiceTypeEnum | null;
    [FILTER_TYPE_UNITS]?: string | null;
};
type FilterValue = ProductServiceTypeEnum | 'all' | string | null;

interface IProductTableProps {
    /**
     * Triggered when the filtering options are changed.
     * Sync with the server *is* performed.
     *
     * @param filter - An object containing the filter parameters.
     * @param filter.field - The field to filter by, specified as a keyof FilterTypes.
     * @param filter.value - The value to be applied to the filter, of type FilterValue.
     */
    onFilterChanged?: (filter: {
        field: keyof Filters;
        value: FilterValue;
    }) => void;
    /**
     * Triggered when the sorting options are changed.
     * Sync with the server *is* performed.
     *
     * @param params - An object containing the sorting parameters.
     * @param params.sort - The field to sort by, in this case PayableCursorFields.CREATED_AT.
     * @param params.order - The sort order can be either SortOrderEnum values or null.
     */
    onSortChanged?: (params: ProductsTableSortModel) => void;
    /**
     * The event handler for a row click.
     *
     * @param product - The product selected from the table by clicking on the row.
     */
    onRowClick?: (product: ProductServiceResponse) => void;
    /**
     * The event handler for a product edit. Triggers when the user clicks the edit button.
     * Sync with the server is *not* performed.
     *
     * @param product - The product on which the user clicked the edit button.
     */
    onEdit?: (product: ProductServiceResponse) => void;
    /**
     * The event handler for a product delete.
     * Triggers when the user deletes the product from the modal and sync with server is successful.
     * Sync with the server *is* performed.
     *
     * @param productId - Removed product ID.
     */
    onDeleted?: (productId: ProductServiceResponse['id']) => void;
}
interface ProductsTableSortModel {
    field: ProductCursorFields;
    sort: GridSortDirection;
}
declare const ProductsTable: ({ onFilterChanged: onChangeFilterCallback, onSortChanged: onChangeSortCallback, onRowClick, onEdit, onDeleted, }: IProductTableProps) => _emotion_react_jsx_runtime.JSX.Element;

interface ProductFormValues {
    name?: string;
    type: ProductServiceTypeEnum;
    units?: string;
    smallestAmount?: number;
    pricePerUnit?: number;
    currency?: CurrencyEnum;
    description?: string;
}

/** View of the product details */
declare enum ProductDetailsView {
    /** Read mode - the user is only viewing the product details */
    Read = "read",
    /** Edit mode - the user is editing the product details */
    Edit = "edit"
}
/** Props for the product details component when the product already exists */
interface IExistingProductDetailsProps {
    /** Product ID */
    id: string;
    /**
     * Callback is fired when a product is updated and sync with server is successful
     *
     * @param product
     */
    onUpdated?: (product: ProductServiceResponse) => void;
    /**
     * Callback is fired when a product is deleted and sync with server is successful
     *
     * @param product
     */
    onDeleted?: (productId: ProductServiceResponse['id']) => void;
    /**
     * Initial view of the product details
     * It might be `read` - when the user is only viewing
     *  the product details
     *  (but the user can click on the edit button to switch to edit mode)
     *
     *  or `edit` - when the user is editing the product details
     *
     * @default ProductDetailsView.Read
     */
    initialView?: ProductDetailsView;
}
/**
 * Props for the product details component when the product does not exist yet
 *  (we are creating a new product)
 */
interface IProductDetailsCreateProps {
    id?: never;
    /**
     * Callback is fired when a product is created and sync with server is successful
     *
     * @param product
     */
    onCreated?: (product: ProductServiceResponse) => void;
    /** Initial values for the product form */
    defaultValues?: Partial<ProductFormValues>;
}
type IProductDetailsProps = IExistingProductDetailsProps | IProductDetailsCreateProps;
declare const ProductDetails: (props: IProductDetailsProps) => _emotion_react_jsx_runtime.JSX.Element;

interface Props$1 {
    onChangeSort?: (params: TagsTableSortModel) => void;
}
interface TagsTableSortModel {
    field: TagCursorFields;
    sort: GridSortDirection;
}
declare const TagsTable: ({ onChangeSort: onChangeSortCallback }: Props$1) => _emotion_react_jsx_runtime.JSX.Element;

interface ITag {
    id: string;
    name: string;
}
interface Props {
    tag?: ITag;
    onCreate?: (tag: TagReadSchema) => void;
    onUpdate?: (tag: TagReadSchema) => void;
    onClose?: () => void;
    /** Whether the modal is open or not */
    open: boolean;
}
/**
 * `TagFormModal` is responsible for creating or updating
 *   the tag.
 *  If no `tag` provided then the form is working on `creating` mode
 *  If `tag` provided then the form is working on `updating` mode
 */
declare const TagFormModal: ({ tag, onCreate, onUpdate, onClose, open, }: Props) => _emotion_react_jsx_runtime.JSX.Element;

declare const Tags: () => _emotion_react_jsx_runtime.JSX.Element;

type PageHeaderProps = {
    title: string;
    extra?: react__default.ReactNode;
};
declare const PageHeader: ({ title, extra }: PageHeaderProps) => _emotion_react_jsx_runtime.JSX.Element;

type ALIGN_DIALOG_TYPES = 'left' | 'right';
declare module '@mui/material/transitions' {
    interface TransitionProps {
        alignDialog?: ALIGN_DIALOG_TYPES;
    }
}
interface MoniteDialogProps extends DialogProps {
    alignDialog?: ALIGN_DIALOG_TYPES;
    onClosed?: () => void;
}

interface DialogContextType {
    isDialogContent: boolean;
    onClose?: (...args: any[]) => void;
}
declare const useDialog: () => DialogContextType | undefined;
declare const Dialog: (props: MoniteDialogProps) => _emotion_react_jsx_runtime.JSX.Element;

type MoniteSupportedMessages = Messages;
type MoniteLocale = {
    /**
     * `code` responsible for internationalised Widgets language, internationalised number and currency formatting.
     * By default it uses `navigator.language` as a fallback in MoniteProvider.
     * Intl format values are accepted and won't cause any trouble.
     *
     * E.g. 'en-GB', 'de-DE', etc.
     */
    code: string;
    /**
     * `messages` responsible for internationalised Widgets translation.
     * By default it uses `enLocaleMessages` as a fallback in MoniteProvider.
     */
    messages?: MoniteSupportedMessages;
};

interface MoniteProviderProps {
    children?: ReactNode;
    /**
     * `theme` responsible for global styling of all Widgets provided.
     * If `theme` is not provided, `Monite` uses default theme.
     *
     * `Monite` uses `Material UI` for styling. If you want to know
     *  more how to customize theme, please visit:
     * @see {@link https://mui.com/customization/default-theme/ Default theme}
     */
    theme?: ThemeOptions | Theme;
    /** An instance of `MoniteSDK` */
    monite: MoniteSDK;
    /**
     * `locale` responsible for internationalisation
     *  of all Widgets provided.
     *
     * `locale.code` is used for global Widgets translation. (e.g. `en`)
     * `locale.messages` is used for translation for some of the Widgets.
     */
    locale?: Partial<MoniteLocale>;
}
/**
 * Provides Monite theme and global styles
 * Fetches theme from global `MoniteProvider` and apply it to the Material `ThemeProvider`
 */
declare const MoniteStyleProvider: ({ children, }: Pick<MoniteProviderProps, 'children'>) => _emotion_react_jsx_runtime.JSX.Element;
declare const MoniteProvider: ({ monite, theme, children, locale, }: MoniteProviderProps) => _emotion_react_jsx_runtime.JSX.Element;

declare const defaultMoniteTypography: TypographyOptions | ((palette: Palette) => TypographyOptions);
declare const defaultMoniteComponents: Components<Omit<Theme$1, 'components'>>;
declare const defaultMoniteLightThemeOptions: ThemeOptions$1;
declare const defaultMoniteLightTheme: Theme$1;
declare const MoniteThemeContext: react.Context<ThemeOptions$1>;
declare function useMoniteThemeContext(): Theme$1;

declare const useRootElements: () => {
    styles: Element | undefined;
    root: Element | undefined;
};
declare const RootElementsProvider: ({ children, elements, }: {
    children: ReactNode;
    elements?: {
        styles: Element | undefined;
        root: Element | undefined;
    } | undefined;
}) => _emotion_react_jsx_runtime.JSX.Element;

interface MoniteContextValue {
    monite: MoniteSDK;
    code: MoniteLocale['code'];
}
declare function useMoniteContext(): MoniteContextValue;

type CountriesType = Record<string, string>;
type CountryType = {
    code: AllowedCountries;
    label: string;
};
declare const getCountriesArray: (i18n: I18n) => CountryType[];
declare const getCountries: (i18n: I18n) => CountriesType;

type CurrenciesType = Record<CurrencyEnum, string>;
type CurrencyType = {
    code: CurrencyEnum;
    label: string;
};
declare const getCurrencies: (i18n: I18n) => CurrenciesType;
declare const getCurrenciesArray: (i18n: I18n) => Array<CurrencyType>;

/**
 * `useCurrencies` hook used for working with currencies
 *  - Display price based on amount, currency and locale.code parameters
 *  - Convert minor units into main currency and vise-versa
 */
declare const useCurrencies: () => {
    currencyList: Record<string, _monite_sdk_api.CurrencyDetails> | undefined;
    getSymbolFromCurrency: (currency: CurrencyEnum | string) => string;
    formatCurrencyToDisplay: (amountInMinorUnits: string | number, currency: CurrencyEnum | string) => string | null;
    formatToMinorUnits: (amount: string | number, currency: CurrencyEnum | string) => number | null;
    formatFromMinorUnits: (amount: number, currency: CurrencyEnum | string) => number | null;
    isSuccess: boolean;
};

type ShowFields<T> = {
    [K in keyof T as `show${Capitalize<string & K>}`]: boolean;
};
declare const useOptionalFields: <T extends object>(optionalFields: boolean | T | undefined, defaultOptionalFields: ShowFields<T>) => ShowFields<T>;

declare const PAYABLE_QUERY_ID = "payable";
declare const payableQueryKeys: {
    all: () => string[];
    list: () => string[];
    detail: (id?: string) => string[];
};
declare const payablesDefaultQueryConfig: {
    refetchInterval: number;
};
declare const usePayableListCache: () => {
    findById: (id: string) => PayableResponseSchema | undefined;
    add: (entity: PayableResponseSchema) => _tanstack_react_query.Updater<PayableResponseSchema[], PayableResponseSchema[]> | undefined;
    update: (entity: PayableResponseSchema) => _tanstack_react_query.Updater<PayableResponseSchema[], PayableResponseSchema[]> | undefined;
    remove: (id: string) => PayableResponseSchema[] | undefined;
    invalidate: (listId?: string | undefined) => void;
    destroy: () => void;
};
declare const usePayableDetailCache: (id?: string) => {
    setEntity: (entity: PayableResponseSchema) => void;
    removeEntity: (id: string) => void;
};
declare const usePayablesList: (order?: _monite_sdk_api.OrderEnum | undefined, limit?: number | undefined, paginationToken?: string | undefined, sort?: _monite_sdk_api.PayableCursorFields | undefined, createdAt?: string | undefined, createdAtGt?: string | undefined, createdAtLt?: string | undefined, createdAtGte?: string | undefined, createdAtLte?: string | undefined, status?: _monite_sdk_api.PayableStateEnum | undefined, amount?: number | undefined, amountGt?: number | undefined, amountLt?: number | undefined, amountGte?: number | undefined, amountLte?: number | undefined, currency?: _monite_sdk_api.CurrencyEnum | undefined, counterpartName?: string | undefined, dueDate?: string | undefined, dueDateGt?: string | undefined, dueDateLt?: string | undefined, dueDateGte?: string | undefined, dueDateLte?: string | undefined, documentId?: string | undefined) => _tanstack_react_query.UseQueryResult<_monite_sdk_api.PayablePaginationResponse, unknown>;
declare const usePayableById: (id?: string) => _tanstack_react_query.UseQueryResult<PayableResponseSchema | undefined, Error>;
declare const useCreatePayableWithLineItems: () => _tanstack_react_query.UseMutationResult<PayableResponseSchema, ApiError, {
    body: PayableUploadWithDataSchema;
    lineItemsToCreate?: LineItem[] | undefined;
}, unknown>;
declare const useUpdatePayableByIdWithLineItems: (payableId?: string) => _tanstack_react_query.UseMutationResult<PayableResponseSchema, ApiError, {
    id: string;
    body: PayableUpdateSchema;
    updatedLineItems?: LineItem[] | undefined;
    dirtyFields?: {
        invoiceNumber?: boolean | undefined;
        counterpart?: boolean | undefined;
        counterpartBankAccount?: boolean | undefined;
        invoiceDate?: boolean | undefined;
        dueDate?: boolean | undefined;
        currency?: boolean | undefined;
        tags?: {
            label?: boolean | undefined;
            value?: boolean | undefined;
        }[] | undefined;
        lineItems?: {
            id?: boolean | undefined;
            name?: boolean | undefined;
            quantity?: boolean | undefined;
            price?: boolean | undefined;
            tax?: boolean | undefined;
        }[] | undefined;
    } | undefined;
    lineItems?: LineItemResponse[] | undefined;
}, unknown>;
declare const useSubmitPayableById: (payableId?: string) => _tanstack_react_query.UseMutationResult<PayableResponseSchema, Error, string, unknown>;
declare const useApprovePayableById: (payableId?: string) => _tanstack_react_query.UseMutationResult<PayableResponseSchema, Error, string, unknown>;
declare const useRejectPayableById: (payableId?: string) => _tanstack_react_query.UseMutationResult<PayableResponseSchema, Error, string, unknown>;
declare const useCancelPayableById: (payableId?: string) => _tanstack_react_query.UseMutationResult<PayableResponseSchema, Error, string, unknown>;
declare const usePayableUpload: () => _tanstack_react_query.UseMutationResult<PayableResponseSchema, unknown, File | null | undefined, unknown>;
/**
 * Hook to attach a file to a payable.
 * @param payableId
 *
 * @see {@link https://docs.monite.com/reference/post_payables_id_attach_file}
 */
declare const useAttachFileToPayable: (payableId: string) => _tanstack_react_query.UseMutationResult<PayableResponseSchema, unknown, {
    file: File | null | undefined;
}, unknown>;

declare const TAG_QUERY_ID = "tags";
declare const useTagList: (order?: _monite_sdk_api.OrderEnum | undefined, limit?: number | undefined, paginationToken?: string | undefined, sort?: _monite_sdk_api.TagCursorFields | undefined, createdByEntityUserId?: string | undefined) => _tanstack_react_query.UseQueryResult<TagsPaginationResponse, ApiError>;
declare const useCreateTag: () => _tanstack_react_query.UseMutationResult<TagReadSchema, ApiError, TagCreateOrUpdateSchema, unknown>;
declare const useUpdateTag: () => _tanstack_react_query.UseMutationResult<TagReadSchema, ApiError, {
    id: string;
    payload: {
        name: string;
    };
}, unknown>;
declare const useDeleteTag: () => _tanstack_react_query.UseMutationResult<void, ApiError, string, unknown>;

declare const WORKFLOW_QUERY_ID = "workflow";
declare const useWorkflowsList: (...args: any) => any;

type CounterpartUpdate = {
    id: string;
    payload: CounterpartUpdatePayload;
};
type CounterpartContactUpdate = {
    contactId: string;
    payload: UpdateCounterpartContactPayload;
};
type CounterpartBankUpdate = {
    bankId: string;
    payload: UpdateCounterpartBankAccount;
};
type CounterpartVatUpdate = {
    vatId: string;
    payload: CounterpartVatID;
};
declare const counterpartQueryKeys: {
    all: () => string[];
    list: () => string[];
    detail: (counterpartId?: string) => string[];
    addressList: (id?: string) => string[];
    addressDetail: (counterpartId: string, addressId: string) => string[];
    contactList: (counterpartId?: string) => string[];
    contactDetail: (counterpartId: string, contactId: string) => string[];
    bankList: (counterpartId?: string) => string[];
    bankDetail: (counterpartId?: string, bankId?: string) => (string | undefined)[];
    vatList: (counterpartId?: string) => string[];
    vatDetail: (counterpartId?: string, vatId?: string) => (string | undefined)[];
};
declare const useCounterpartCache: () => {
    findById: (id: string) => {
        id: string;
    } | undefined;
    add: (entity: {
        id: string;
    }) => _tanstack_react_query.Updater<{
        id: string;
    }[], {
        id: string;
    }[]> | undefined;
    update: (entity: {
        id: string;
    }) => _tanstack_react_query.Updater<{
        id: string;
    }[], {
        id: string;
    }[]> | undefined;
    remove: (id: string) => {
        id: string;
    }[] | undefined;
    invalidate: (listId?: string | undefined) => void;
    destroy: () => void;
};
declare const useCounterpartAddresses: (counterpartId?: string) => _tanstack_react_query.UseQueryResult<CounterpartAddressResponseWithCounterpartID[], Error>;
declare const useCounterpartAddressById: (counterpartId?: string, addressId?: string) => _tanstack_react_query.UseQueryResult<CounterpartAddressResponseWithCounterpartID | undefined, Error>;
declare const useUpdateCounterpartAddress: (addressId: string, counterpartId: string) => _tanstack_react_query.UseMutationResult<CounterpartAddressResponseWithCounterpartID, ApiError, CounterpartUpdateAddress, unknown>;
declare const useCounterpartBankList: (counterpartId?: string) => _tanstack_react_query.UseQueryResult<CounterpartBankAccountResponse[], Error>;
declare const useCreateCounterpartBank: (counterpartId: string) => _tanstack_react_query.UseMutationResult<CounterpartBankAccountResponse, Error, CreateCounterpartBankAccount, unknown>;
declare const useCounterpartBankById: (counterpartId: string, bankId?: string) => _tanstack_react_query.UseQueryResult<CounterpartBankAccountResponse | undefined, Error>;
declare const useUpdateCounterpartBank: (counterpartId: string) => _tanstack_react_query.UseMutationResult<CounterpartBankAccountResponse, Error, CounterpartBankUpdate, unknown>;
declare const useDeleteCounterpartBank: (counterpartId: string) => _tanstack_react_query.UseMutationResult<void, Error, string, unknown>;
declare const useCounterpartVatList: (counterpartId?: string) => _tanstack_react_query.UseQueryResult<CounterpartVatIDResponse[], Error>;
declare const useCreateCounterpartVat: (counterpartId: string) => _tanstack_react_query.UseMutationResult<CounterpartVatIDResponse, Error, CounterpartVatID, unknown>;
declare const useCounterpartVatById: (counterpartId: string, vatId?: string) => _tanstack_react_query.UseQueryResult<CounterpartVatIDResponse | undefined, Error>;
declare const useUpdateCounterpartVat: (counterpartId: string) => _tanstack_react_query.UseMutationResult<CounterpartVatIDResponse, Error, CounterpartVatUpdate, unknown>;
declare const useDeleteCounterpartVat: (counterpartId: string) => _tanstack_react_query.UseMutationResult<void, Error, string, unknown>;
declare const useCounterpartContactList: (counterpartId?: string, isOrganization?: boolean) => _tanstack_react_query.UseQueryResult<CounterpartContactResponse[] | undefined, ApiError>;
declare const useCreateCounterpartContact: (counterpartId: string) => _tanstack_react_query.UseMutationResult<CounterpartContactResponse, Error, CreateCounterpartContactPayload, unknown>;
declare const useCounterpartContactById: (counterpartId: string, contactId?: string) => _tanstack_react_query.UseQueryResult<CounterpartContactResponse | undefined, Error>;
declare const useUpdateCounterpartContact: (counterpartId: string) => _tanstack_react_query.UseMutationResult<CounterpartContactResponse, Error, CounterpartContactUpdate, unknown>;
declare const useDeleteCounterpartContact: (counterpartId: string) => _tanstack_react_query.UseMutationResult<void, Error, string, unknown>;
declare const useCounterpartList: (iban?: string | undefined, order?: _monite_sdk_api.OrderEnum | undefined, limit?: number | undefined, paginationToken?: string | undefined, sort?: _monite_sdk_api.CounterpartCursorFields | undefined, type?: _monite_sdk_api.CounterpartType | undefined, counterpartName?: string | undefined, counterpartNameContains?: string | undefined, counterpartNameIcontains?: string | undefined, isVendor?: boolean | undefined, isCustomer?: boolean | undefined, email?: string | undefined, emailContains?: string | undefined, emailIcontains?: string | undefined, createdAt?: string | undefined, createdAtGt?: string | undefined, createdAtLt?: string | undefined, createdAtGte?: string | undefined, createdAtLte?: string | undefined) => _tanstack_react_query.UseQueryResult<CounterpartPaginationResponse, Error>;
declare const useCreateCounterpart: () => _tanstack_react_query.UseMutationResult<CounterpartResponse, Error, CounterpartCreatePayload, unknown>;
declare const useCounterpartById: (id?: string) => _tanstack_react_query.UseQueryResult<CounterpartResponse | undefined, Error>;
declare const useUpdateCounterpart: () => _tanstack_react_query.UseMutationResult<CounterpartResponse, Error, CounterpartUpdate, unknown>;
declare const useDeleteCounterpart: () => _tanstack_react_query.UseMutationResult<void, Error, CounterpartResponse, CounterpartResponse>;

declare const ENTITY_USERS_QUERY_ID = "entityUsers";
declare const useEntityUsersList: (order?: _monite_sdk_api.OrderEnum | undefined, limit?: number | undefined, paginationToken?: string | undefined, sort?: _monite_sdk_api.EntityUserCursorFields | undefined, firstName?: string | undefined, createdAt?: string | undefined, createdAtGt?: string | undefined, createdAtLt?: string | undefined, createdAtGte?: string | undefined, createdAtLte?: string | undefined) => _tanstack_react_query.UseQueryResult<EntityUserPaginationResponse, ApiError>;
declare const useEntityUserById: (id?: string) => _tanstack_react_query.UseQueryResult<EntityUserResponse | undefined, ApiError>;
declare const useEntityUserByAuthToken: () => _tanstack_react_query.UseQueryResult<EntityUserResponse | undefined, ApiError>;
declare const useEntityUserRoleByAuthToken: () => _tanstack_react_query.UseQueryResult<RoleResponse | undefined, ApiError>;

declare const INTERNAL_SETTINGS_QUERY_ID = "internalSettings";
declare const useInternalSettings: (partnerId?: string, projectId?: string) => _tanstack_react_query.UseQueryResult<PartnerProjectSettingsResponse, ApiError>;

declare const receivablesDefaultQueryConfig: {
    refetchInterval: number;
};
declare const useReceivables: (order?: _monite_sdk_api.OrderEnum | undefined, limit?: number | undefined, paginationToken?: string | undefined, sort?: _monite_sdk_api.ReceivableCursorFields | undefined, type?: _monite_sdk_api.ReceivableType | undefined, documentId?: string | undefined, documentIdContains?: string | undefined, documentIdIcontains?: string | undefined, issueDateGt?: string | undefined, issueDateLt?: string | undefined, issueDateGte?: string | undefined, issueDateLte?: string | undefined, createdAtGt?: string | undefined, createdAtLt?: string | undefined, createdAtGte?: string | undefined, createdAtLte?: string | undefined, counterpartName?: string | undefined, counterpartNameContains?: string | undefined, counterpartNameIcontains?: string | undefined, amount?: number | undefined, amountGt?: number | undefined, amountLt?: number | undefined, amountGte?: number | undefined, amountLte?: number | undefined, status?: ReceivablesStatusEnum | undefined, statusIn?: ReceivablesStatusEnum[] | undefined, entityUserId?: string | undefined, entityUserIdIn?: string[] | undefined, basedOn?: string | undefined) => _tanstack_react_query.UseQueryResult<ReceivablePaginationResponse, Error>;
declare const useCreateReceivable: () => _tanstack_react_query.UseMutationResult<ReceivableResponse, Error, ReceivableFacadeCreatePayload, unknown>;
/**
 * Fetches receivable by provided `id`
 *
 * @see {@link https://docs.monite.com/reference/get_receivables_id} Monite backend call API
 */
declare const useReceivableById: (receivableId: string) => _tanstack_react_query.UseQueryResult<ReceivableResponse | undefined, ApiError>;
/**
 * Marks receivable as issued by provided id
 *
 * @see {@link https://docs.monite.com/reference/post_receivables_id_issue} Monite backend call API
 */
declare const useIssueReceivableById: () => _tanstack_react_query.UseMutationResult<ReceivableResponse, ApiError, string, unknown>;
/**
 * Marks receivable as deleted by provided id
 *
 * @see {@link https://docs.monite.com/reference/delete_receivables_id} Monite backend call API
 */
declare const useDeleteReceivableById: () => _tanstack_react_query.UseMutationResult<void, ApiError, string, unknown>;
/**
 * Marks receivable as canceled by provided id
 *
 * @see {@link https://docs.monite.com/reference/post_receivables_id_cancel} Monite backend call API
 */
declare const useCancelReceivableById: () => _tanstack_react_query.UseMutationResult<void, ApiError, string, unknown>;
/**
 * Marks receivable as uncollectible by provided id
 *
 * @see {@link https://docs.monite.com/reference/post_receivables_id_mark_as_uncollectible} Monite backend call API
 */
declare const useMarkAsUncollectibleReceivableById: () => _tanstack_react_query.UseMutationResult<ReceivableResponse, ApiError, string, unknown>;
/**
 * Issue an invoice and send PDF with an email
 *  to the counterpart
 */
declare const useSendReceivableById: () => _tanstack_react_query.UseMutationResult<ReceivableSendResponse, ApiError, {
    receivableId: string;
    body: ReceivableSendRequest;
}, unknown>;
declare const usePDFReceivableByIdMutation: (receivableId: string, options?: {
    onSuccess?: ((data: ReceivableFileUrl) => void) | undefined;
} | undefined) => _tanstack_react_query.UseMutationResult<ReceivableFileUrl, ApiError, void, unknown>;
declare const usePDFReceivableById: (receivableId: string, options?: {
    enabled?: boolean | undefined;
    onSuccess?: ((data: ReceivableFileUrl) => void) | undefined;
} | undefined) => _tanstack_react_query.UseQueryResult<ReceivableFileUrl, ApiError>;
declare enum InvoiceDetailsPermissions {
    Cancel = "cancel",
    Delete = "delete",
    Issue = "issue",
    MarkAsUncollectible = "mark_as_uncollectible"
}
type IUseInvoiceDetailsProps = {
    id: string;
} & Pick<ExistingInvoiceDetailsProps, 'onIssue' | 'onDelete' | 'onCancel' | 'onMarkAsUncollectible'>;
interface IReceivableDetailsResult {
    permissions: Array<InvoiceDetailsPermissions>;
    receivable: ReceivableResponse | undefined;
    isInitialLoading: boolean;
    /**
     * `isButtonsLoading` means that some mutation
     *  (issue action, cancel action, etc)
     *  is on the fly and we have no ability to call any other action
     */
    isButtonsLoading: boolean;
    error: ApiError | null;
    actions: {
        issueInvoice: () => Promise<void>;
        deleteInvoice: () => Promise<void>;
        cancelInvoice: () => Promise<void>;
        markAsUncollectibleInvoice: () => Promise<void>;
    };
}
declare function useInvoiceDetails({ id, onCancel, onIssue, onMarkAsUncollectible, onDelete, }: IUseInvoiceDetailsProps): IReceivableDetailsResult;

declare const useProducts: (params: Parameters<ProductsService['getAll']>[0], options?: {
    /** Should we enable the request or not? */
    enabled: boolean;
}) => _tanstack_react_query.UseQueryResult<ProductServicePaginationResponse, Error>;
declare const useInfiniteProducts: (params: Parameters<ProductsService['getAll']>[0], options?: {
    /** Should we enable the request or not? */
    enabled: boolean;
}) => _tanstack_react_query.UseInfiniteQueryResult<ProductServicePaginationResponse, ApiError>;
declare const useProductById: (id?: string) => _tanstack_react_query.UseQueryResult<ProductServiceResponse | undefined, Error>;
declare const useCreateProduct: () => _tanstack_react_query.UseMutationResult<ProductServiceResponse, Error, ProductServiceRequest, unknown>;
declare const useUpdateProduct: (productId: string) => _tanstack_react_query.UseMutationResult<ProductServiceResponse, Error, ProductServiceRequest, unknown>;
declare const useDeleteProduct: () => _tanstack_react_query.UseMutationResult<void, Error, string, unknown>;

declare const usePaymentTerms: () => _tanstack_react_query.UseQueryResult<PaymentTermsListResponse, Error>;

declare const useMeasureUnits: () => _tanstack_react_query.UseQueryResult<UnitListResponse, Error>;
declare const useMeasureUnitById: (unitId: string) => _tanstack_react_query.UseQueryResult<UnitResponse, Error>;

/** Get Vat Rates */
declare const useVatRates: (params?: Parameters<VatRatesService['getAll']>[0]) => _tanstack_react_query.UseQueryResult<VatRateListResponse, Error>;

declare const useApprovalPoliciesList: (params: ApprovalPoliciesGetAllRequest) => _tanstack_react_query.UseQueryResult<ApprovalPolicyResourceList, ApiError>;
declare const useApprovalPolicyById: (approvalPolicyId?: string) => _tanstack_react_query.UseQueryResult<ApprovalPolicyResource | undefined, ApiError>;

declare const useFiles: (idIn: Array<string>) => _tanstack_react_query.UseQueryResult<FilesResponse, ApiError>;
declare const useFileById: (fileId?: string) => _tanstack_react_query.UseQueryResult<FileResponse | undefined, ApiError>;
declare const useCreateFile: () => _tanstack_react_query.UseMutationResult<FileResponse, ApiError, UploadFile, unknown>;
declare const useDeleteFile: () => _tanstack_react_query.UseMutationResult<void, ApiError, string, unknown>;

export { ApprovalPolicies, ApprovalPoliciesTable, CounterpartDetails, Counterparts, CounterpartsTable, CountriesType, CountryType, CreditNotesTable, CurrenciesType, CurrencyType, Dialog, ENTITY_USERS_QUERY_ID, IExistingProductDetailsProps, INTERNAL_SETTINGS_QUERY_ID, IProductDetailsCreateProps, IProductDetailsProps, IProductTableProps, InvoiceDetails, InvoiceDetailsPermissions, InvoicesTable, MoniteProvider, MoniteStyleProvider, MoniteThemeContext, Onboarding, PAYABLE_QUERY_ID, PageHeader, PayableDetails, Payables, PayablesDetailsProps, PayablesProps, PayablesTable, ProductDetails, ProductDetailsView, Products, ProductsTable, QuotesTable, Receivables, RootElementsProvider, TAG_QUERY_ID, TagFormModal, Tags, TagsTable, WORKFLOW_QUERY_ID, counterpartQueryKeys, defaultMoniteComponents, defaultMoniteLightTheme, defaultMoniteLightThemeOptions, defaultMoniteTypography, getCountries, getCountriesArray, getCurrencies, getCurrenciesArray, payableQueryKeys, payablesDefaultQueryConfig, receivablesDefaultQueryConfig, useApprovalPoliciesList, useApprovalPolicyById, useApprovePayableById, useAttachFileToPayable, useCancelPayableById, useCancelReceivableById, useCounterpartAddressById, useCounterpartAddresses, useCounterpartBankById, useCounterpartBankList, useCounterpartById, useCounterpartCache, useCounterpartContactById, useCounterpartContactList, useCounterpartList, useCounterpartVatById, useCounterpartVatList, useCreateCounterpart, useCreateCounterpartBank, useCreateCounterpartContact, useCreateCounterpartVat, useCreateFile, useCreatePayableWithLineItems, useCreateProduct, useCreateReceivable, useCreateTag, useCurrencies, useDeleteCounterpart, useDeleteCounterpartBank, useDeleteCounterpartContact, useDeleteCounterpartVat, useDeleteFile, useDeleteProduct, useDeleteReceivableById, useDeleteTag, useDialog, useEntityUserByAuthToken, useEntityUserById, useEntityUserRoleByAuthToken, useEntityUsersList, useFileById, useFiles, useInfiniteProducts, useInternalSettings, useInvoiceDetails, useIssueReceivableById, useMarkAsUncollectibleReceivableById, useMeasureUnitById, useMeasureUnits, useMoniteContext, useMoniteThemeContext, useOptionalFields, usePDFReceivableById, usePDFReceivableByIdMutation, usePayableById, usePayableDetailCache, usePayableListCache, usePayableUpload, usePayablesList, usePaymentTerms, useProductById, useProducts, useReceivableById, useReceivables, useRejectPayableById, useRootElements, useSendReceivableById, useSubmitPayableById, useTagList, useUpdateCounterpart, useUpdateCounterpartAddress, useUpdateCounterpartBank, useUpdateCounterpartContact, useUpdateCounterpartVat, useUpdatePayableByIdWithLineItems, useUpdateProduct, useUpdateTag, useVatRates, useWorkflowsList };
