import BigNumber from 'bignumber.js'; import { CorporateActionKind, CorporateActionTargets, TaxWithholding } from '../../../api/entities/CorporateActionBase/types'; import { Checkpoint, CheckpointSchedule, Context, Entity, FungibleAsset } from '../../../internal'; import { AssetDocumentWithId, InputCaCheckpoint, LinkCaDocsParams, ModifyCaCheckpointParams, ProcedureMethod } from '../../../types'; import { HumanReadableType, Modify } from '../../../types/utils'; export interface UniqueIdentifiers { id: BigNumber; assetId: string; } export interface HumanReadable { id: string; assetId: string; declarationDate: string; description: string; targets: HumanReadableType; defaultTaxWithholding: string; taxWithholdings: HumanReadableType; } export interface Params { kind: CorporateActionKind; declarationDate: Date; description: string; targets: CorporateActionTargets; defaultTaxWithholding: BigNumber; taxWithholdings: TaxWithholding[]; } /** * Represents an action initiated by the issuer of an Asset which may affect the positions of * the Asset Holders */ export declare abstract class CorporateActionBase extends Entity { /** * @hidden * Check if a value is of type {@link UniqueIdentifiers} */ static isUniqueIdentifiers(identifier: unknown): identifier is UniqueIdentifiers; /** * internal Corporate Action ID */ id: BigNumber; /** * Asset affected by this Corporate Action */ asset: FungibleAsset; /** * date at which the Corporate Action was created */ declarationDate: Date; /** * brief text description of the Corporate Action */ description: string; /** * Asset Holder Identities related to this Corporate action. If the treatment is `Exclude`, the Identities * in the array will not be targeted by the Action, Identities not in the array will be targeted, and vice versa */ targets: CorporateActionTargets; /** * default percentage (0-100) of tax withholding for this Corporate Action */ defaultTaxWithholding: BigNumber; /** * percentage (0-100) of tax withholding per Identity. Any Identity not present * in this array uses the default tax withholding percentage */ taxWithholdings: TaxWithholding[]; /** * type of corporate action being represented */ protected kind: CorporateActionKind; /** * @hidden */ constructor(args: UniqueIdentifiers & Params, context: Context); /** * Link a list of documents to this corporate action * * @note any previous links are removed in favor of the new list */ linkDocuments: ProcedureMethod; /** * Retrieve the documents linked to this Corporate Action */ getDocuments(): Promise; /** * Modify the Corporate Action's Checkpoint */ abstract modifyCheckpoint: ProcedureMethod, void>; /** * Determine whether this Corporate Action exists on chain */ exists(): Promise; /** * Retrieve the Checkpoint associated with this Corporate Action. If the Checkpoint is scheduled and has * not been created yet, the corresponding CheckpointSchedule is returned instead. A null value means * the Corporate Action was created without an associated Checkpoint */ checkpoint(): Promise; /** * @hidden */ private fetchCorporateAction; /** * Return the Corporate Action's static data */ toHuman(): HumanReadable; } //# sourceMappingURL=index.d.ts.map