import OneByte from "./1byte"; import SustainableWebDesign from "./sustainable-web-design"; export interface PageXRay { domains: { [key: string]: { transferSize: number; contentSize: number; headerSize: number; requests: number; timings: { blocked: number; dns: number; connect: number; send: number; wait: number; receive: number; }; }; }; assets: any[]; firstPartyRegEx: RegExp; } export interface CO2Options { model: string; results?: string; } declare class CO2 { model: SustainableWebDesign | OneByte; constructor(options?: CO2Options); /** * Accept a figure in bytes for data transfer, and a boolean for whether * the domain shows as 'green', and return a CO2 figure for energy used to shift the corresponding * the data transfer. * * @param {number} bytes * @param {boolean} green * @return {number} the amount of CO2 in grammes */ perByte( bytes: number, green?: boolean ): { [key: string]: number; total: number; }; /** * Accept a figure in bytes for data transfer, and a boolean for whether * the domain shows as 'green', and return a CO2 figure for energy used to shift the corresponding * the data transfer. * * @param {number} bytes * @param {boolean} green * @return {number} the amount of CO2 in grammes */ perVisit(bytes: number, green?: boolean): number; perDomain( pageXray: PageXRay, greenDomains?: string[] ): { domain: string; co2: number; transferSize: number; }[]; perPage(pageXray: PageXRay, greenDomains?: string[]): number; perContentType( pageXray: PageXRay, greenDomains?: string[] ): { type: string; co2: number; transferSize: number; }[]; dirtiestResources( pageXray: PageXRay, greenDomains?: string[] ): { url: string; co2: number; transferSize: number; }[]; perParty( pageXray: PageXRay, greenDomains?: string[] ): { firstParty: number; thirdParty: number; }; } export { CO2 }; export default CO2; //# sourceMappingURL=co2.d.ts.map