import { COABalanceType, ClassViewLayout, NestedClassID } from '@zeniai/client-epic-state';
import { AccountGroupNilBalancesFilter, AccountNilBalancesFilter } from '../../../dataSelector/dataSelector';
import { DownloadReportOptions } from './downloadReportOptions';
interface COABalancesRangePayload {
    number_of_periods: number;
    this_period: {
        end_date: string;
        start_date: string;
    };
    order_by?: string;
}
/**
 * Report Download options.
 * [Optional Fields]
 * locale_id - Default `en-US`
 * show_negative_amount_in_parenthesis - Default `true`
 * hide_acconts_with_nil_balances - Default `true`
 * include_cover_page - Default `true`
 * format - Default `detailed`
 */
export default interface DownloadReportOptionsPayload {
    account_view_mode: "account_group" | "classes" | "project";
    additional_balances: COABalanceType[];
    balances_filter: COABalancesRangePayload;
    classes_to_filter_out: NestedClassID[];
    company_name: string;
    filter_account_groups_with_nil_balances: AccountGroupNilBalancesFilter;
    filter_accounts_with_nil_balances: AccountNilBalancesFilter;
    first_month_of_fy: number;
    format: string;
    include_cover_page: boolean;
    is_zeni_coa_used: boolean;
    locale_id: string;
    show_negative_amount_in_parenthesis: boolean;
    statement_file_type: string;
    statements: string[];
    timeframe: string;
    book_close_date?: string;
    class_view_layout?: ClassViewLayout;
    data_available?: {
        end_date: string;
        start_date: string;
    };
}
export declare function toDownloadReportOptions(payload: DownloadReportOptionsPayload): DownloadReportOptions | undefined;
export declare function toDownloadReportOptionsPayload(options: DownloadReportOptions): DownloadReportOptionsPayload;
export {};
