import { FetchStateAndError, FetchedState, ID } from '../../commonStateTypes/common'; import { Status } from '../../commonStateTypes/status'; import { View } from '../../commonStateTypes/viewAndReport/viewAndReport'; import { ZeniDate } from '../../zeniDayJS'; import { AuditSummary } from '../reviewCompanyView/reviewCompanyViewState'; export declare const toAuditRuleEntityType: (v: string) => "dashboard" | "transactions" | "reports"; export type AuditRuleEntityType = ReturnType; declare const toAuditRuleEntityIdType: (v: string) => "cash_balance" | "card_balance" | "expense_automation_card" | "operating_expenses" | "operating_expenses_by_classes" | "operating_expenses_by_projects" | "revenue" | "revenue_by_classes" | "revenue_by_projects" | "net_burn_or_income" | "net_burn_or_income_story_card" | "net_burn_or_income_by_classes" | "net_burn_or_income_by_projects" | "cash_position" | "top_expenses" | "profit_and_loss" | "profit_and_loss_by_classes" | "profit_and_loss_by_projects" | "balance_sheet" | "balance_sheet_by_classes" | "balance_sheet_by_projects" | "cash_flow" | "cash_flow_by_classes" | "cash_flow_by_projects" | "dashboard" | "finance_statement" | "transaction_list_of_account" | "transaction_list_missing_receipt" | "transaction_list_of_account_by_class" | "transaction_list_of_account_by_project" | "transaction_detail" | "cash_in_cash_out" | "insights_dashboard" | "company_details" | "class_list" | "account_list" | "account_list_by_type" | "vendor" | "task_card" | "bill_pay" | "reimbursement" | "bill_pay_card" | "reimbursement_card" | "bill_pay_promo_card" | "zeni_accounts" | "zeni_accounts_promo_card" | "zeni_treasury" | "charge_cards" | "other_connection" | "reimbursement_promo_card" | "onboarding" | "operating_expenses_by_vendor" | "operating_expenses_by_vendor_summary" | "vendors_tab" | "accounts_payable_aging" | "accounts_receivable_aging" | "vendor_global_review" | "prepaid_expenses" | "fixed_assets" | "notification" | "rewards_card" | "billing" | "flux_analysis_operating_expense" | "account_reconciliation" | "zeni_credit_promo_card" | "treasury_promo_card" | "excluded_account_reconciliation" | "transfer_accounts" | "credit_card_transfer_accounts" | "uncategorized-expense" | "uncategorized-income"; export type AuditRuleEntityIdType = ReturnType; export declare const toAuditRuleTypeIdType: (v: string) => "business" | "accounting"; type AuditRuleTypeIdType = ReturnType; export declare const AUDIT_REPORT_ACTION_TYPES: readonly ["generate", "view"]; export declare const toAuditReportActionType: (v: string) => "generate" | "view"; export type AuditReportActionType = ReturnType; interface AuditRuleGroupBase { auditRuleGroupId: ID; } export interface AuditRuleBase { auditRuleId: string; } export interface AuditRuleGroup extends AuditRuleGroupBase { auditRuleCategory: string; auditRuleGroupDescription: string; auditRules: AuditRule[]; ruleType: AuditRuleTypeIdType; sequence: number; } export interface AuditRule extends AuditRuleBase { auditRuleDescription: string; sequence: number; } export interface AuditRuleBypassReason { reasonCreatedAt: ZeniDate; reasonStatus: string; reasonToPass: string; reasonUpdatedAt: ZeniDate; userId: ID; } export interface AuditReportRule extends AuditRuleBase { entityIds: AuditRuleEntityIdType[]; entityType: AuditRuleEntityType; isSuccess: boolean; message: string; reasonUpdateFetchState: FetchStateAndError; sequence: number; reason?: AuditRuleBypassReason; } export interface AuditRuleGroupReport extends AuditRuleGroupBase { auditRules: AuditReportRule[]; isSuccess: boolean; message: string; sequence: number; } export interface AuditReport { auditMonthAndYear: string; auditRulesGroupReport: AuditRuleGroupReport[]; auditSummary: AuditSummary; reportId: ID; reportTitle: string; status: Status; version: string; } export interface AuditReportGroupQuery { action: AuditReportActionType; auditRuleGroupIds: ID[]; } export interface AuditReportGroup { query: AuditReportGroupQuery; report: AuditReport; } export interface AuditReportGroupView extends FetchedState { id: ID; auditReportGroup?: AuditReportGroup; } export interface AuditRuleGroupViewState extends FetchedState, View { auditRuleGroups: AuditRuleGroup[]; } interface AuditReportGroupViewState { auditReportGroupViewByGroupId: Record; } export interface AuditReportViewState { auditReportViewByCompanyId: Record; auditRuleGroupView: AuditRuleGroupViewState; } export {};