import { Quota as SiteLicenseQuota } from "../db-schema/site-licenses"; interface Quota { network?: boolean; member_host?: boolean; always_running?: boolean; disk_quota?: number; memory_limit?: number; memory_request?: number; cpu_limit?: number; cpu_request?: number; privileged?: boolean; idle_timeout?: number; } interface Settings { cores?: number; cpu_shares?: number; mintime?: number; memory?: number; memory_request?: number; disk_quota?: number; member_host?: number; privileged?: number; network?: number; always_running?: number; } interface Upgrades { cores: number; cpu_shares: number; mintime: number; memory: number; memory_request: number; network: number; disk_quota: number; member_host: number; privileged: number; always_running: number; ephemeral_state: number; ephemeral_disk: number; } interface Users { [userid: string]: { upgrades?: Upgrades; }; } interface SiteSettingsDefaultQuotas { internet: boolean; idle_timeout: number; cpu: number; cpu_oc: number; mem: number; mem_oc: number; disk_quota: number; } export interface SiteLicenseQuotaSetting { quota: SiteLicenseQuota; } export declare type QuotaSetting = Upgrades | SiteLicenseQuotaSetting | null; export declare type SiteLicenses = { [license_id: string]: QuotaSetting; }; interface SiteSettingsQuotas { default_quotas?: Partial; max_upgrades?: Partial; } export declare function quota(settings_arg?: Settings, users_arg?: Users, site_licenses?: SiteLicenses, site_settings?: SiteSettingsQuotas): Quota; export declare function max_quota(quota: Quota, license_quota: SiteLicenseQuota): void; export declare function site_license_quota(site_licenses: SiteLicenses, max_upgrades_param?: Upgrades): Quota; export {};