import { IContractV2List, IContractV2Response } from '../../types/contract.types'; import { CustomerType, ICustomer, ICustomerPortalValidatedSessionResponse } from '../../types/customer.types'; import { IInvoicesList } from '../../types/invoice.types'; import { IPaymentsList } from '../../types/payments.types'; import { MutationOptions, QueryOptions } from '../../types/reactQuery.types'; import { ServiceParams } from '../../types/types'; /** * Customer query definitions following React Query patterns */ export declare const customerQueries: { all: () => readonly ["customer"]; lists: () => readonly ["customer", "list"]; details: () => readonly ["customer", "detail"]; detail: (id: string) => readonly ["customer", "detail", string]; payments: (id: string, params?: ServiceParams) => readonly ["customer", "payments", string, ServiceParams | undefined]; invoices: (id: string, params?: ServiceParams) => readonly ["customer", "invoices", string, ServiceParams | undefined]; contracts: (id: string, params?: ServiceParams) => readonly ["customer", "contracts", string, ServiceParams | undefined]; contractById: (id: string, contractId: string) => readonly ["customer", "contract", string, string]; validateSession: () => readonly ["customer", "session", "validate"]; }; /** * Get a customer by their ID * @description This hook is used to get a customer by their ID * @param customerId - The ID of the customer to get * @returns The customer */ export declare const useGetCustomer: (customerId: CustomerType, options?: QueryOptions) => import('@tanstack/react-query').UseQueryResult; /** * Get a customer payments * @description This hook is used to get a customer payments * @returns The customer payments */ export declare const useGetCustomerPayments: (options?: { params?: ServiceParams; options?: QueryOptions; }) => import('@tanstack/react-query').UseQueryResult; /** * Get a customer invoices * @description This hook is used to get a customer invoices * @returns The customer invoices */ export declare const useGetCustomerInvoices: (options?: { params?: ServiceParams; options?: QueryOptions; }) => import('@tanstack/react-query').UseQueryResult; /** * Get customer contracts * @description This hook is used to get a customer's contracts with pagination * @returns The customer contracts */ export declare const useGetCustomerContracts: (options?: { params?: ServiceParams; options?: QueryOptions; }) => import('@tanstack/react-query').UseQueryResult; /** * Get a single contract by ID for the customer * @description This hook is used to get a specific contract by ID * @param contractId - The ID of the contract to retrieve * @returns The contract details */ export declare const useGetCustomerContractById: (contractId: string, options?: QueryOptions) => import('@tanstack/react-query').UseQueryResult; /** * Hook to update customer information * @description This hook is used to update customer information * @param customerId - The ID of the customer to update * @returns The mutation methods */ export declare const useUpdateCustomerInfoMutation: (customerId: CustomerType, options?: MutationOptions) => import('@tanstack/react-query').UseMutationResult; /** * Validate a customer portal session * @description This hook is used to validate a customer portal session * @returns The customer portal session query result */ export declare const useCustomerPortalSessionValidation: (options?: QueryOptions) => import('@tanstack/react-query').UseQueryResult;