import { ZeniAPIResponse } from '../../../responsePayload'; import { AutoTransferRuleFrequency, AutoTransferRuleType } from './autoTransferRuleTypes'; import { AutoTransferRule } from './autoTransferRulesState'; export interface DestinationBankAccountMetadataPayload { account_id: string; account_type: string; percentage: number; } export interface AutoTransferRulePayload { amount: number; auto_transfer_rule_id: string; create_time: string; created_by_user_id: string; currency_code: string; currency_symbol: string; destination_bank_account_id: string | null; destination_bank_account_metadata: DestinationBankAccountMetadataPayload[] | null; destination_bank_account_type: string; frequency: AutoTransferRuleFrequency; is_active: boolean; is_deleted: boolean; last_run_time: string | null; last_run_transaction_metadata: unknown | null; next_transfer_date: string; rule_type: AutoTransferRuleType; source_bank_account_id: string; source_bank_account_type: string; update_time: string; } interface AutoTransferRulesPayload { auto_transfer_rules: AutoTransferRulePayload[]; } export type FetchAutoTransferRulesResponse = ZeniAPIResponse; export interface AutoTransferRuleRequestBody { amount?: number; currency_code?: string; currency_symbol?: string; destination_bank_account_id?: string; destination_bank_account_metadata?: DestinationBankAccountMetadataPayload[]; destination_bank_account_type?: string; first_transfer_date?: string; frequency?: AutoTransferRuleFrequency; is_active?: boolean; next_transfer_date?: string; rule_type?: AutoTransferRuleType; source_bank_account_id?: string; source_bank_account_type?: string; } interface CreateAutoTransferRulesPayload { auto_transfer_rule: AutoTransferRulePayload; } export type CreateAutoTransferRulesResponse = ZeniAPIResponse; interface DeleteAutoTransferRulePayload { message: string; } export type DeleteAutoTransferRuleResponse = ZeniAPIResponse; export declare const mapPayloadToAutoTransferRule: (payload: AutoTransferRulePayload) => AutoTransferRule; export {};