import { AWS } from "./AWS"; import { CUR } from "./CUR"; export declare namespace DynamoDB { class Table extends AWS.Resource { storageType: Table.StorageType; accessType: Table.AccessType; status: string; size: number; global: boolean; secondaryIndexes: Table.SecondaryIndex[]; readCapacityUnits: number; writeCapacityUnits: number; creationDate: Date; private _replicas; private _consumedReadCapacityUnits; private _consumedWriteCapacityUnits; private _consumedRequestUnits; static new(session: AWS.Session, id: string, global: boolean, secondaryIndexes: Table.SecondaryIndex[], storageType: Table.StorageType, accessType: Table.AccessType, readCapacityUnits?: number, writeCapacityUnits?: number, creationDate?: Date, status?: string, size?: number): Table; private constructor(); getReplicas(): Promise; protected updateChildren(): Promise; getConsumedReadCapacityUnits(days: number): Promise; getConsumedRequestUnits(days: number): Promise; getConsumedWriteCapacityUnits(days: number): Promise; getConsumedReadCapacityUnitsPerSecond(days: number): Promise; getConsumedWriteCapacityUnitsPerSecond(days: number): Promise; getReadCapacityUnitCosts(year: number): AWS.Resource.Costs | undefined; getWriteCapacityUnitCosts(year: number): AWS.Resource.Costs | undefined; getStorageCosts(year: number): AWS.Resource.Costs | undefined; } class Tables extends Array { private static listTables; private static getTable; private static getTables; static fetch(session: AWS.Session): Promise; static costs(account: string, curSession: AWS.Session, catalog: string, database: string, table: string, outputLocation: string, year: number): Promise; } namespace Table { const type = "DynamoDB.Table"; type StorageType = "Standard" | "InfrequentAccess" | "Unknown"; type AccessType = "On-Demand" | "Provisioned" | "Unknown"; class SecondaryIndex { name: string; type: SecondaryIndex.Type; constructor(name: string); } namespace SecondaryIndex { type Type = "Global" | "Local"; } class GSI extends SecondaryIndex { type: "Global"; } class LSI extends SecondaryIndex { type: "Local"; } class Replica extends AWS.Child.Resource { resource: Table; constructor(resource: Table); } namespace Metric { class ConsumedRequestUnits extends AWS.Metric { static new(session: AWS.Session, resource: AWS.Resource, days: any): Promise; } namespace ConsumedRequestUnits { function create(session: AWS.Session, MetricClass: AWS.Metric.Class, resource: AWS.Resource, metric: string, statistic: string, period: number, days: number): Promise; } class ConsumedCapacityUnits extends AWS.Metric { } namespace ConsumedCapacityUnits { function create(session: AWS.Session, MetricClass: AWS.Metric.Class, resource: AWS.Resource, metric: string, statistic: string, period: number, days: number): Promise; class Read extends ConsumedCapacityUnits { static new(session: AWS.Session, resource: AWS.Resource, days: any): Promise; } class Write extends ConsumedCapacityUnits { static new(session: AWS.Session, resource: AWS.Resource, days: any): Promise; } } } } }