export interface StorageDomainRecords {
    ":storage": StorageDomainRecord;
    ":storage.stats": StorageStatsDomainRecord;
    ":storage-zone": StorageZoneDomainRecord;
}
export interface StorageZoneDomainRecord {
    priority?: number;
}
export interface StorageFsStats {
    concurrency?: number;
    path?: string;
    snapshot?: number | null;
    available?: number;
    free?: number;
    used?: number;
    size?: number;
    state?: string;
    [key: string]: unknown;
}
export interface StorageS3Stats {
    bucket?: string;
    region?: string;
    endpoint?: string;
    path?: string;
    storageClass?: string;
    [key: string]: unknown;
}
export interface StorageStatsDomainRecord {
    id: string;
    location: string;
    timestamp: string;
    type: string;
    zone: string;
    origin: string;
    free: number | null;
    size: number | null;
    available: number | null;
    cache: boolean | null;
    capacity: number | null;
    limiter: {
        readBytesPerSecond: number | undefined;
        writeBytesPerSecond: number | undefined;
    };
    http: {
        downstreamConnected: number;
        upstreamConnected: number;
        pending: number;
        completed: number;
        failed: number;
    };
    io: {
        read: {
            bytesPerSecond: number;
            pending: number;
            queues: StorageIoQueues;
        };
        write: {
            bytesPerSecond: number;
            pending: number;
            queues: StorageIoQueues;
        };
    };
    fs?: StorageFsStats;
    s3?: StorageS3Stats;
}
export interface StorageIoQueues {
    highest: number;
    higher: number;
    high: number;
    normal: number;
    low: number;
    lower: number;
    lowest: number;
}
export interface StorageDomainRecord {
    zone: string;
    hostname: string | null;
    port?: number | null;
    location?: string;
    cache?: boolean | null;
    allows?: string[];
    capacity?: number | null;
    rxBytesSecMax?: number | null;
    txBytesSecMax?: number | null;
    rxBytesSecLimit?: number | null;
    txBytesSecLimit?: number | null;
}
