import { AWS } from "./AWS"; declare global { interface Array { costs(session: AWS.Session, catalog: string, database: string, table: string, outputLocation: string, year: number): Promise; } } export declare namespace CUR { type ResourceId = { account: string; region: string; id: string; }; type ResourceCost = { account: string; region: string; id: string; type: string; rate: string; amount: string; usage: string; startDate?: string; endDate?: string; }; function executeQuery(session: AWS.Session, catalog: string, database: string, table: string, outputLocation: string, filters: string, year: number, timer?: number): Promise; function costsByResource(session: AWS.Session, catalog: string, database: string, table: string, outputLocation: string, resourceIds: ResourceId[], year: number): Promise; class Report extends AWS.Resource { bucket: string; bucketPrefix: string; bucketRegion: AWS.Region; versioning: string; manifests: string[]; static new(session: AWS.Session, name: string, bucket: string, bucketPrefix: string, bucketRegion: string, versioning?: string, manifests?: string[]): Report; private constructor(); hasManifests(): boolean; protected updateChildren(): Promise; } namespace Report { const type = "CUR.Report"; } class Reports extends Array { private static describeReports; static fetch(session: AWS.Session): Promise; } }