import * as SDK from 'aws-sdk'; import { AWS } from "./AWS"; import { EC2 } from "./EC2"; import { CUR } from "./CUR"; export declare namespace EBS { class Snapshot extends AWS.Resource { static new(session: AWS.Session, id?: string): Snapshot; private constructor(); protected updateChildren(): Promise; } namespace Snapshot { const type = "EBS.Snapshot"; } class Snapshots extends Array { private static describeSnapshots; static fetch(session: AWS.Session): Promise; } class FastRestoreSnapshot extends AWS.Resource { state: SDK.EC2.Types.FastSnapshotRestoreStateCode; static new(session: AWS.Session, id?: string, state?: SDK.EC2.Types.FastSnapshotRestoreStateCode): FastRestoreSnapshot; private constructor(); hasState(): boolean; protected updateChildren(): Promise; } namespace FastRestoreSnapshot { const type = "EBS.FastRestoreSnapshot"; } class FastRestoreSnapshots extends Array { private static describeFastRestoreSnapshots; static fetch(session: AWS.Session): Promise; } class Volume extends AWS.Resource { type: string; size: number; iops: number; throughput: number; private _instanceIds; private _iopsUilization; private _throughputUtilization; static isTypeOf(resource: AWS.Resource): resource is Volume; static new(session: AWS.Session, id?: string, type?: string, size?: number, iops?: number, throughput?: number, instanceIds?: string[]): Volume; private constructor(); hasType(): boolean; hasSize(): boolean; hasIops(): boolean; hasThroughput(): boolean; instances(): Promise; protected updateChildren(): Promise; utilizedIops(days: number): Promise; utilizedThroughput(days: number): Promise; } namespace Volume { const type = "EBS.Volume"; class Metric extends AWS.Metric { } namespace Metric { function create(session: AWS.Session, MetricClass: AWS.Metric.Class, resource: AWS.Resource, metric: string, statistic: string, period: number, days: number): Promise; class ReadOps extends Metric { static new(session: AWS.Session, resource: AWS.Resource, days: any): Promise; } class WriteOps extends Metric { static new(session: AWS.Session, resource: AWS.Resource, days: any): Promise; } class ReadBytes extends Metric { static new(session: AWS.Session, resource: AWS.Resource, days: any): Promise; } class WriteBytes extends Metric { static new(session: AWS.Session, resource: AWS.Resource, days: any): Promise; } } } class Volumes extends Array { private static describeVolumes; static fetch(session: AWS.Session, volumeIds?: string[]): Promise; static costs(account: string, curSession: AWS.Session, catalog: string, database: string, table: string, outputLocation: string, year: number): Promise; } }