import { AccountViewMode, COABalanceTimeFrame, COABalanceType, COABalancesRangeWithThisPeriod, ClassViewLayout, FileType, Month, NestedClassHierarchyForReport, NestedClassID, ReportFormat, TimeframeTick, ZeniDate } from '@zeniai/client-epic-state';
import { SupportedLocale } from '../../../../strings/localizedStrings';
import { BalanceTimeframe } from '../../../cards/cardTypes';
import { AccountGroupNilBalancesFilter, AccountNilBalancesFilter } from '../../../dataSelector/dataSelector';
import { StatementID } from './statementID';
export type AllowedTimeframe = Exclude<COABalanceTimeFrame, "week" | "free_range">;
export declare function toAllowedTimeframe(timeframe: BalanceTimeframe): AllowedTimeframe;
export interface DownloadReportOptions {
    accountViewMode: AccountViewMode;
    additionalBalances: COABalanceType[];
    balancesFilter: COABalancesRangeWithThisPeriod;
    classesToFilterOut: NestedClassID[];
    companyName: string;
    filterAccountGroupsWithNilBalances: AccountGroupNilBalancesFilter;
    filterAccountsWithNilBalances: AccountNilBalancesFilter;
    firstMonthOfFY: Month;
    format: ReportFormat;
    includeCoverPage: boolean;
    isZeniCOAUsed: boolean;
    localeId: SupportedLocale;
    showNegativeAmountInParenthesis: boolean;
    statementFileType: FileType;
    statements: StatementID[];
    timeframe: COABalanceTimeFrame;
    bookCloseDate?: ZeniDate;
    /** Profit & Loss by class only: matches on-screen "By Class (Horizontal)" vs vertical. */
    classViewLayout?: ClassViewLayout;
    dataAvailable?: TimeframeTick;
    disabledAdditionalColumns?: COABalanceType[];
    nestedClassHierarchy?: NestedClassHierarchyForReport[];
    showClassAccountNumber?: boolean;
}
