import { DisplayFormat, ModelChild } from "./model-document"; export declare type PeriodCategories = { [modelChildDisplayName: string]: PeriodChild; }; export interface PeriodChild { children?: PeriodCategories; formula?: string; } export interface PeriodChildCategory extends PeriodChild, Omit { } /** * When using the bafs-api lib this interface is not needed because no objects * with this shape will be exposed to clients. See * `libs/bafs-api/src/period-statements/period-statements.ts`. * * Response returned by a cms/v1 request. * @deprecated */ export interface PeriodDocument { data: PeriodDocumentDataData[]; error: any; metaData: any; } export interface PeriodMetadataLocked { locked: boolean; } export interface PeriodMetadataType { sourcePeriodUuid: string; type: PeriodTypes; } export interface PeriodDocumentDataData { accountingMethod: "Accrual" | "Cash"; allowEdit?: boolean; analyst: string; analystName?: string; analystUuid: string; archive: boolean; createdDate: string; displayFormat: DisplayFormat; documentUuid: string; endDate: string; entityUuid: string; financialModelUuid: string; institutionUuid: string; period: string; periodData: PeriodDocumentDataModels; periodMetadata: PeriodMetadataType | PeriodMetadataLocked; sourceDocument: string; startDate: string; statementDate: string; statementType: string; status: boolean; uuid: string; } /** * A root level period property. The property name is the UUID of a model. * @example { MODEL_UUID: PeriodTabs } */ export interface PeriodDocumentDataModels { [modelUuid: string]: PeriodTabs; } /** * The period data that applies to a specific tab. * @example { MODEL_UUID: { TAB_UUID: PeriodChild } } */ export declare type PeriodTabs = { [tabUuid: string]: PeriodChild; }; export declare type PeriodTypes = "basePct" | "trends";