import * as IShared from '../../../shared/interface'; import { Payment, DocumentHeader } from '../../../shared/entities/stock'; import * as IObservation from '../../integration/observation/interfaces'; import { type ICreateFromHeaderRequest } from '../documentHeader/interfaces'; export type Entity = Payment; export declare const Route = "payment"; export declare const UpperName = "Payment"; export declare const LowerName: string; type IEntityExtended = Entity; export type IFindByIdResponse = Omit; export type IFindByOwnerIdResponse = Omit; export type IFindRequest = Record; export type IFindResponse = Omit; export interface IFindPaginatedRequest extends IFindRequest, IShared.IPaginationRequest { } export type IFindWithPaginationResponse = IShared.IPaginationResponse>; export interface ICreateForThisDocumentHeaderRequest { date: Date; debit: number; credit: number; payment_method_id?: string | null; payment_method?: string | null; notes: string | null; } export interface ICreateRequest extends ICreateForThisDocumentHeaderRequest { document_header_id: string; } export interface ICurrentAccountNotes { date: string; credit: number | null; debit: number | null; iban: string | null; payment_batch_id: string | null; payment_method: string | null; notes: string | null; owner_name: string; created_at: string; created_by: string; updated_at: string; updated_by: string; } export interface IFindCurrentAccountByOwnerIdResponse { payment_date: string; emission_date: string; document_description: string; document_name: string; debit: number; credit: number; notes: ICurrentAccountNotes[]; por_regularizar: number; balance: number; href?: string | null; } export interface IUnpaidPurchasesRequest { provider_id: string; client_id: string | null; } export interface IUnpaidByDatePurchasesRequest { due_date: Date; } export type IPaymentOrigin = 'CC Fornecedor' | 'CC Cliente' | 'CC Fornecedor (Descontinuado)' | 'CC Cliente (Descontinuado)'; export interface IUnpaidPurchasesResponse extends Pick { document_header: Pick; origin: IPaymentOrigin; document_type_code: string | null; document_name: string; user?: { user_name: string; provider_id: string; client_id?: string | null; }; maturity_days: number; observations: IObservation.IFindByOwnerResponse[]; } export interface IPaymentsNotExportedRequest { whiteList?: string[]; } export interface IPaymentsNotExportedResponse { iban: string; payment_ids: string[]; npf_dh: { id: string; name: string; pdf_link: string | null; total: number; }[]; provider: string; value: number; } export interface IExportPaymentsRequest { provider: string; value: number; npf_ids?: string[]; } export type IBatchType = 'national' | 'international' | 'null'; export interface IPaymentsBatchNpfDh { id: string; name: string; sent: string | null; owner_id: string; owner_number: number; owner_name: string; external_document_header_id: string | null; pdf_link: string | null; total: number; } export interface IPaymentsBatchResponse { batch_id: string; batch_value: number; batch_type: IBatchType | null; multimedia_id: string | null; times_downloaded: number; npf_dh: IPaymentsBatchNpfDh[]; updated_at: Date; updated_by: string; created_at: Date; } export declare const IExportCurrentAccountOutputEnum: { csv: 'csv'; pdf: 'pdf'; }; export type IExportCurrentAccountOutput = (typeof IExportCurrentAccountOutputEnum)[keyof typeof IExportCurrentAccountOutputEnum]; export declare const IExportCurrentAccountOutputOptions: string[]; export interface IExportCurrentAccountRequest { token: string; owner_id: string; output: IExportCurrentAccountOutput; start_date: Date | null; end_date: Date | null; } export interface IUnpaidDocumentResponse { id: string; name: string; group: string; total: number; params: ICreateFromHeaderRequest; } export interface IRepository { findCurrentAccountByOwnerId(params: IShared.IFindByOwnerIdRequest): Promise; findBalanceByOwnerId(params: IShared.IFindByOwnerIdRequest): Promise; exportCurrentAccount(params: IExportCurrentAccountRequest): Promise; findClientUnpaidCredit(params: IShared.IFindByOwnerIdRequest): Promise; findClientUnpaidDebit(params: IShared.IFindByOwnerIdRequest): Promise; } export type IController = IShared.IEntityWithUserToken; export {};