UNPKG

@accounter/server

Version:
199 lines (198 loc) • 7.23 kB
import type { Environment } from '../../../shared/types/index.js'; import { ProviderCredentialsProvider } from '../../provider-credentials/providers/provider-credentials.provider.js'; export declare class DeelClientProvider { private env; private credentialsProvider; private host; private tokenPromise; constructor(env: Environment, credentialsProvider: ProviderCredentialsProvider); private timeZoneFix; private getApiToken; private _fetchToken; getPaymentReceipts(): Promise<{ data: { rows: { id: string; created_at: string; label: string; paid_at: string | null; payment_currency: string; total: string; status: "paid"; invoices: { id: string; }[]; timezone: string | null; deel_reference: string | null; payment_method?: Record<string, never> | undefined; workers?: { id: string; picUrl: string | null; contract_id?: string | null | undefined; name?: string | undefined; public_id?: string | undefined; }[] | undefined; }[]; total: number; next_cursor: string | null; has_more: boolean | null; total_count: number | null; }; }>; getPaymentBreakdown(paymentId: string): Promise<{ data: { adjustment: "0.00"; approve_date: string; approvers: string; bonus: "0.00"; commissions: "0.00"; contract_country: string; contract_start_date: string; contract_type: string; contractor_email: string; contractor_employee_name: string; contractor_unique_identifier: string; currency: string; date: string; deductions: "0.00"; expenses: string; frequency: "" | "custom" | "hourly" | "daily" | "monthly"; general_ledger_account: ""; group_id: string; invoice_id: string; others: string; overtime: "0.00"; payment_currency: string; payment_date: string; pro_rata: string; processing_fee: string; work: string; total: string; total_payment_currency: string; }[]; }>; getSalaryInvoices(): Promise<{ id: string; amount: string; contract_id: string | null; created_at: string; currency: string; deel_fee: "0.00"; due_date: string; is_overdue: boolean; issued_at: string; label: string; paid_at: string; status: "pending" | "paid" | "processing" | "canceled" | "skipped" | "failed" | "refunded" | "processed"; total: string; vat_id: ""; vat_percentage: ""; vat_total: "0.00"; recipient_legal_entity_id: "1dee10b1-105b-4dc7-bcdb-5ed5c52ba868"; }[]>; getSalaryInvoiceFile(id: string): Promise<Blob>; getContractDetails(contractId: string): Promise<{ data: { client: { email: string; full_name: string; id: string; legal_entity: { email: ""; id: string; name: string; registration_number: string; subtype: "private-liability-company"; type: "company"; vat_number: string; }; team: { id: string; name: string; }; }; compensation_details: { amount: string | null; currency_code: string; cycle_end: number | null; cycle_end_type: "DAY_OF_MONTH" | "DAY_OF_WEEK" | "DAY_OF_LAST_WEEK" | null; first_payment: number | null; first_payment_date: string; frequency: "" | "monthly" | "weekly" | "biweekly" | "semimonthly" | "calendar-month"; gross_annual_salary: number | ""; gross_signing_bonus: ""; gross_variable_bonus: ""; scale: "" | "custom" | "hourly" | "daily" | "monthly"; variable_compensations: never[]; }; contract_template: null; created_at: string; custom_fields: never[]; employment_details: { days_per_week: 0; hours_per_day: 0; paid_vacation_days: 0; probation_period: number; probation_period_metadata: { display_value: 90; time_unit: "DAY"; } | null; type: "ongoing_time_based" | "eor" | "pay_as_you_go_time_based"; }; employment_type: "FULL_TIME" | null; external_id: null; id: string; invitations: { client_email: string; worker_email: string; }; is_archived: boolean; notice_period: number; seniority: null; signatures: { client_signature: string; client_signed_at: string; signed_at: string; worker_signature: string; worker_signed_at: string; }; special_clause: ""; start_date: string; status: "in_progress" | "completed" | "cancelled" | "user_cancelled"; termination_date: string; title: string; type: "ongoing_time_based" | "eor" | "pay_as_you_go_time_based"; updated_at: string; work_schedule: { country: string; days: { day: "MONDAY" | "TUESDAY" | "WEDNESDAY" | "THURSDAY" | "FRIDAY" | "SATURDAY" | "SUNDAY"; end: string; start: string; work_hours: number; }[]; employment_type: "FULL_TIME"; name: string; work_hours_per_week: number; work_schedule_type: string; worker_types: ("HOURLY_EOR_EMPLOYEE" | "SALARIED_EOR_EMPLOYEE")[]; } | null; worker: { alternate_email: never[]; country: string; date_of_birth: string; email: string; expected_email: string; first_name: string; full_name: string; id: string; last_name: string; nationality: string | null; }; job_title?: string | undefined; scope_of_work?: string | undefined; who_reports?: "both" | undefined; work_statement_id?: string | undefined; }; }>; }