import { IManagedObject } from '../inventory';
export declare enum InstanceStatus {
    Up = "Up",
    Unhealthy = "Unhealthy",
    Down = "Down",
    Unknown = "Unknown"
}
export interface ILastUpdated {
    date: {
        $date: string;
    };
    offset: number;
    [key: string]: any;
}
export interface IInstanceDetails {
    lastUpdated: ILastUpdated;
    memoryInBytes: number;
    scheduled: boolean;
    restarts: number;
    cpuInMillis: number;
    [key: string]: any;
}
export interface IApplicationStatus {
    lastUpdated: ILastUpdated;
    instances: {
        [instanceName: string]: IInstanceDetails;
    };
    details: {
        desired: number;
        aggregatedResources: {
            memory: string;
            cpu: string;
        };
        active: number;
        restarts: number;
    };
    status: InstanceStatus;
    [key: string]: any;
}
export interface IApplicationManagedObjectAdditions {
    c8y_Status?: IApplicationStatus;
    applicationOwner?: string;
    c8y_Subscriptions?: {
        [tenantId: string]: IApplicationStatus;
    };
    applicationId?: string;
    name?: string;
    c8y_SupportedLogs?: string[];
    [key: string]: any;
}
export type IApplicationManagedObject = IManagedObject & IApplicationManagedObjectAdditions;
export interface IApplicationInstanceLog {
    dateFrom: string;
    dateTo: string;
    logs: string;
    truncated: boolean;
    [key: string]: any;
}
export interface IApplicationInstanceLogRequestParams {
    dateFrom?: string;
    dateTo?: string;
    /**
     * Limits the maximum number of lines to be returned by the backend.
     */
    limit?: number;
    [key: string]: any;
}
//# sourceMappingURL=IApplicationInstanceDetails.d.ts.map