import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1";
import type { Operation, OperationParams } from "./ydb_operation_pb.js";
import type { Message } from "@bufbuild/protobuf";
/**
 * Describes the file protos/ydb_monitoring.proto.
 */
export declare const file_protos_ydb_monitoring: GenFile;
/**
 * @generated from message Ydb.Monitoring.StatusFlag
 */
export type StatusFlag = Message<"Ydb.Monitoring.StatusFlag"> & {};
/**
 * Describes the message Ydb.Monitoring.StatusFlag.
 * Use `create(StatusFlagSchema)` to create a new message.
 */
export declare const StatusFlagSchema: GenMessage<StatusFlag>;
/**
 * Describes the general state of a component.
 * From GREEN to RED, where GREEN is good, and RED is bad.
 * GREY means that the corresponding status is unknown.
 *
 * @generated from enum Ydb.Monitoring.StatusFlag.Status
 */
export declare enum StatusFlag_Status {
    /**
     * @generated from enum value: UNSPECIFIED = 0;
     */
    UNSPECIFIED = 0,
    /**
     * @generated from enum value: GREY = 1;
     */
    GREY = 1,
    /**
     * @generated from enum value: GREEN = 2;
     */
    GREEN = 2,
    /**
     * @generated from enum value: BLUE = 3;
     */
    BLUE = 3,
    /**
     * @generated from enum value: YELLOW = 4;
     */
    YELLOW = 4,
    /**
     * @generated from enum value: ORANGE = 5;
     */
    ORANGE = 5,
    /**
     * @generated from enum value: RED = 6;
     */
    RED = 6
}
/**
 * Describes the enum Ydb.Monitoring.StatusFlag.Status.
 */
export declare const StatusFlag_StatusSchema: GenEnum<StatusFlag_Status>;
/**
 * @generated from message Ydb.Monitoring.SelfCheckRequest
 */
export type SelfCheckRequest = Message<"Ydb.Monitoring.SelfCheckRequest"> & {
    /**
     * basic operation params, including timeout
     *
     * @generated from field: Ydb.Operations.OperationParams operation_params = 1;
     */
    operationParams?: OperationParams;
    /**
     * return detailed info about components checked with their statuses
     *
     * @generated from field: bool return_verbose_status = 2;
     */
    returnVerboseStatus: boolean;
    /**
     * minimum status of issues to return
     *
     * @generated from field: Ydb.Monitoring.StatusFlag.Status minimum_status = 3;
     */
    minimumStatus: StatusFlag_Status;
    /**
     * maximum level of issues to return
     *
     * @generated from field: uint32 maximum_level = 4;
     */
    maximumLevel: number;
};
/**
 * Describes the message Ydb.Monitoring.SelfCheckRequest.
 * Use `create(SelfCheckRequestSchema)` to create a new message.
 */
export declare const SelfCheckRequestSchema: GenMessage<SelfCheckRequest>;
/**
 * @generated from message Ydb.Monitoring.SelfCheckResponse
 */
export type SelfCheckResponse = Message<"Ydb.Monitoring.SelfCheckResponse"> & {
    /**
     * After successfull completion must contain SelfCheckResult.
     *
     * @generated from field: Ydb.Operations.Operation operation = 1;
     */
    operation?: Operation;
};
/**
 * Describes the message Ydb.Monitoring.SelfCheckResponse.
 * Use `create(SelfCheckResponseSchema)` to create a new message.
 */
export declare const SelfCheckResponseSchema: GenMessage<SelfCheckResponse>;
/**
 * @generated from message Ydb.Monitoring.NodeCheckRequest
 */
export type NodeCheckRequest = Message<"Ydb.Monitoring.NodeCheckRequest"> & {
    /**
     * basic operation params, including timeout
     *
     * @generated from field: Ydb.Operations.OperationParams operation_params = 1;
     */
    operationParams?: OperationParams;
};
/**
 * Describes the message Ydb.Monitoring.NodeCheckRequest.
 * Use `create(NodeCheckRequestSchema)` to create a new message.
 */
export declare const NodeCheckRequestSchema: GenMessage<NodeCheckRequest>;
/**
 * @generated from message Ydb.Monitoring.NodeCheckResponse
 */
export type NodeCheckResponse = Message<"Ydb.Monitoring.NodeCheckResponse"> & {
    /**
     * After successfull completion must contain SelfCheckResult.
     *
     * @generated from field: Ydb.Operations.Operation operation = 1;
     */
    operation?: Operation;
};
/**
 * Describes the message Ydb.Monitoring.NodeCheckResponse.
 * Use `create(NodeCheckResponseSchema)` to create a new message.
 */
export declare const NodeCheckResponseSchema: GenMessage<NodeCheckResponse>;
/**
 * @generated from message Ydb.Monitoring.SelfCheck
 */
export type SelfCheck = Message<"Ydb.Monitoring.SelfCheck"> & {};
/**
 * Describes the message Ydb.Monitoring.SelfCheck.
 * Use `create(SelfCheckSchema)` to create a new message.
 */
export declare const SelfCheckSchema: GenMessage<SelfCheck>;
/**
 * Describes the result of self-check performed.
 *
 * @generated from enum Ydb.Monitoring.SelfCheck.Result
 */
export declare enum SelfCheck_Result {
    /**
     * @generated from enum value: UNSPECIFIED = 0;
     */
    UNSPECIFIED = 0,
    /**
     * @generated from enum value: GOOD = 1;
     */
    GOOD = 1,
    /**
     * @generated from enum value: DEGRADED = 2;
     */
    DEGRADED = 2,
    /**
     * @generated from enum value: MAINTENANCE_REQUIRED = 3;
     */
    MAINTENANCE_REQUIRED = 3,
    /**
     * @generated from enum value: EMERGENCY = 4;
     */
    EMERGENCY = 4
}
/**
 * Describes the enum Ydb.Monitoring.SelfCheck.Result.
 */
export declare const SelfCheck_ResultSchema: GenEnum<SelfCheck_Result>;
/**
 * @generated from message Ydb.Monitoring.StoragePDiskStatus
 */
export type StoragePDiskStatus = Message<"Ydb.Monitoring.StoragePDiskStatus"> & {
    /**
     * @generated from field: string id = 1;
     */
    id: string;
    /**
     * @generated from field: Ydb.Monitoring.StatusFlag.Status overall = 2;
     */
    overall: StatusFlag_Status;
};
/**
 * Describes the message Ydb.Monitoring.StoragePDiskStatus.
 * Use `create(StoragePDiskStatusSchema)` to create a new message.
 */
export declare const StoragePDiskStatusSchema: GenMessage<StoragePDiskStatus>;
/**
 * @generated from message Ydb.Monitoring.StorageVDiskStatus
 */
export type StorageVDiskStatus = Message<"Ydb.Monitoring.StorageVDiskStatus"> & {
    /**
     * @generated from field: string id = 1;
     */
    id: string;
    /**
     * @generated from field: Ydb.Monitoring.StatusFlag.Status overall = 2;
     */
    overall: StatusFlag_Status;
    /**
     * @generated from field: Ydb.Monitoring.StatusFlag.Status vdisk_status = 3;
     */
    vdiskStatus: StatusFlag_Status;
    /**
     * @generated from field: Ydb.Monitoring.StoragePDiskStatus pdisk = 4;
     */
    pdisk?: StoragePDiskStatus;
};
/**
 * Describes the message Ydb.Monitoring.StorageVDiskStatus.
 * Use `create(StorageVDiskStatusSchema)` to create a new message.
 */
export declare const StorageVDiskStatusSchema: GenMessage<StorageVDiskStatus>;
/**
 * @generated from message Ydb.Monitoring.StorageGroupStatus
 */
export type StorageGroupStatus = Message<"Ydb.Monitoring.StorageGroupStatus"> & {
    /**
     * @generated from field: string id = 1;
     */
    id: string;
    /**
     * @generated from field: Ydb.Monitoring.StatusFlag.Status overall = 2;
     */
    overall: StatusFlag_Status;
    /**
     * @generated from field: repeated Ydb.Monitoring.StorageVDiskStatus vdisks = 3;
     */
    vdisks: StorageVDiskStatus[];
};
/**
 * Describes the message Ydb.Monitoring.StorageGroupStatus.
 * Use `create(StorageGroupStatusSchema)` to create a new message.
 */
export declare const StorageGroupStatusSchema: GenMessage<StorageGroupStatus>;
/**
 * @generated from message Ydb.Monitoring.StoragePoolStatus
 */
export type StoragePoolStatus = Message<"Ydb.Monitoring.StoragePoolStatus"> & {
    /**
     * @generated from field: string id = 1;
     */
    id: string;
    /**
     * @generated from field: Ydb.Monitoring.StatusFlag.Status overall = 2;
     */
    overall: StatusFlag_Status;
    /**
     * @generated from field: repeated Ydb.Monitoring.StorageGroupStatus groups = 3;
     */
    groups: StorageGroupStatus[];
};
/**
 * Describes the message Ydb.Monitoring.StoragePoolStatus.
 * Use `create(StoragePoolStatusSchema)` to create a new message.
 */
export declare const StoragePoolStatusSchema: GenMessage<StoragePoolStatus>;
/**
 * @generated from message Ydb.Monitoring.StorageStatus
 */
export type StorageStatus = Message<"Ydb.Monitoring.StorageStatus"> & {
    /**
     * @generated from field: Ydb.Monitoring.StatusFlag.Status overall = 1;
     */
    overall: StatusFlag_Status;
    /**
     * @generated from field: repeated Ydb.Monitoring.StoragePoolStatus pools = 2;
     */
    pools: StoragePoolStatus[];
};
/**
 * Describes the message Ydb.Monitoring.StorageStatus.
 * Use `create(StorageStatusSchema)` to create a new message.
 */
export declare const StorageStatusSchema: GenMessage<StorageStatus>;
/**
 * Describes the state of a tablet group.
 *
 * @generated from message Ydb.Monitoring.ComputeTabletStatus
 */
export type ComputeTabletStatus = Message<"Ydb.Monitoring.ComputeTabletStatus"> & {
    /**
     * @generated from field: Ydb.Monitoring.StatusFlag.Status overall = 1;
     */
    overall: StatusFlag_Status;
    /**
     * @generated from field: string type = 2;
     */
    type: string;
    /**
     * @generated from field: string state = 3;
     */
    state: string;
    /**
     * @generated from field: uint32 count = 4;
     */
    count: number;
    /**
     * @generated from field: repeated string id = 5;
     */
    id: string[];
};
/**
 * Describes the message Ydb.Monitoring.ComputeTabletStatus.
 * Use `create(ComputeTabletStatusSchema)` to create a new message.
 */
export declare const ComputeTabletStatusSchema: GenMessage<ComputeTabletStatus>;
/**
 * @generated from message Ydb.Monitoring.ThreadPoolStatus
 */
export type ThreadPoolStatus = Message<"Ydb.Monitoring.ThreadPoolStatus"> & {
    /**
     * @generated from field: Ydb.Monitoring.StatusFlag.Status overall = 1;
     */
    overall: StatusFlag_Status;
    /**
     * @generated from field: string name = 2;
     */
    name: string;
    /**
     * @generated from field: float usage = 3;
     */
    usage: number;
};
/**
 * Describes the message Ydb.Monitoring.ThreadPoolStatus.
 * Use `create(ThreadPoolStatusSchema)` to create a new message.
 */
export declare const ThreadPoolStatusSchema: GenMessage<ThreadPoolStatus>;
/**
 * @generated from message Ydb.Monitoring.LoadAverageStatus
 */
export type LoadAverageStatus = Message<"Ydb.Monitoring.LoadAverageStatus"> & {
    /**
     * @generated from field: Ydb.Monitoring.StatusFlag.Status overall = 1;
     */
    overall: StatusFlag_Status;
    /**
     * @generated from field: float load = 2;
     */
    load: number;
    /**
     * @generated from field: uint32 cores = 3;
     */
    cores: number;
};
/**
 * Describes the message Ydb.Monitoring.LoadAverageStatus.
 * Use `create(LoadAverageStatusSchema)` to create a new message.
 */
export declare const LoadAverageStatusSchema: GenMessage<LoadAverageStatus>;
/**
 * @generated from message Ydb.Monitoring.ComputeNodeStatus
 */
export type ComputeNodeStatus = Message<"Ydb.Monitoring.ComputeNodeStatus"> & {
    /**
     * @generated from field: string id = 1;
     */
    id: string;
    /**
     * @generated from field: Ydb.Monitoring.StatusFlag.Status overall = 2;
     */
    overall: StatusFlag_Status;
    /**
     * @generated from field: repeated Ydb.Monitoring.ComputeTabletStatus tablets = 3;
     */
    tablets: ComputeTabletStatus[];
    /**
     * @generated from field: repeated Ydb.Monitoring.ThreadPoolStatus pools = 4;
     */
    pools: ThreadPoolStatus[];
    /**
     * @generated from field: Ydb.Monitoring.LoadAverageStatus load = 5;
     */
    load?: LoadAverageStatus;
};
/**
 * Describes the message Ydb.Monitoring.ComputeNodeStatus.
 * Use `create(ComputeNodeStatusSchema)` to create a new message.
 */
export declare const ComputeNodeStatusSchema: GenMessage<ComputeNodeStatus>;
/**
 * @generated from message Ydb.Monitoring.ComputeStatus
 */
export type ComputeStatus = Message<"Ydb.Monitoring.ComputeStatus"> & {
    /**
     * @generated from field: Ydb.Monitoring.StatusFlag.Status overall = 1;
     */
    overall: StatusFlag_Status;
    /**
     * @generated from field: repeated Ydb.Monitoring.ComputeNodeStatus nodes = 2;
     */
    nodes: ComputeNodeStatus[];
    /**
     * @generated from field: repeated Ydb.Monitoring.ComputeTabletStatus tablets = 3;
     */
    tablets: ComputeTabletStatus[];
};
/**
 * Describes the message Ydb.Monitoring.ComputeStatus.
 * Use `create(ComputeStatusSchema)` to create a new message.
 */
export declare const ComputeStatusSchema: GenMessage<ComputeStatus>;
/**
 * @generated from message Ydb.Monitoring.LocationNode
 */
export type LocationNode = Message<"Ydb.Monitoring.LocationNode"> & {
    /**
     * @generated from field: uint32 id = 1;
     */
    id: number;
    /**
     * @generated from field: string host = 2;
     */
    host: string;
    /**
     * @generated from field: uint32 port = 3;
     */
    port: number;
};
/**
 * Describes the message Ydb.Monitoring.LocationNode.
 * Use `create(LocationNodeSchema)` to create a new message.
 */
export declare const LocationNodeSchema: GenMessage<LocationNode>;
/**
 * @generated from message Ydb.Monitoring.LocationStoragePDisk
 */
export type LocationStoragePDisk = Message<"Ydb.Monitoring.LocationStoragePDisk"> & {
    /**
     * @generated from field: string id = 1;
     */
    id: string;
    /**
     * @generated from field: string path = 2;
     */
    path: string;
};
/**
 * Describes the message Ydb.Monitoring.LocationStoragePDisk.
 * Use `create(LocationStoragePDiskSchema)` to create a new message.
 */
export declare const LocationStoragePDiskSchema: GenMessage<LocationStoragePDisk>;
/**
 * @generated from message Ydb.Monitoring.LocationStorageVDisk
 */
export type LocationStorageVDisk = Message<"Ydb.Monitoring.LocationStorageVDisk"> & {
    /**
     * @generated from field: repeated string id = 1;
     */
    id: string[];
    /**
     * @generated from field: repeated Ydb.Monitoring.LocationStoragePDisk pdisk = 2;
     */
    pdisk: LocationStoragePDisk[];
};
/**
 * Describes the message Ydb.Monitoring.LocationStorageVDisk.
 * Use `create(LocationStorageVDiskSchema)` to create a new message.
 */
export declare const LocationStorageVDiskSchema: GenMessage<LocationStorageVDisk>;
/**
 * @generated from message Ydb.Monitoring.LocationStorageGroup
 */
export type LocationStorageGroup = Message<"Ydb.Monitoring.LocationStorageGroup"> & {
    /**
     * @generated from field: repeated string id = 1;
     */
    id: string[];
    /**
     * @generated from field: Ydb.Monitoring.LocationStorageVDisk vdisk = 2;
     */
    vdisk?: LocationStorageVDisk;
};
/**
 * Describes the message Ydb.Monitoring.LocationStorageGroup.
 * Use `create(LocationStorageGroupSchema)` to create a new message.
 */
export declare const LocationStorageGroupSchema: GenMessage<LocationStorageGroup>;
/**
 * @generated from message Ydb.Monitoring.LocationStoragePool
 */
export type LocationStoragePool = Message<"Ydb.Monitoring.LocationStoragePool"> & {
    /**
     * @generated from field: string name = 1;
     */
    name: string;
    /**
     * @generated from field: Ydb.Monitoring.LocationStorageGroup group = 2;
     */
    group?: LocationStorageGroup;
};
/**
 * Describes the message Ydb.Monitoring.LocationStoragePool.
 * Use `create(LocationStoragePoolSchema)` to create a new message.
 */
export declare const LocationStoragePoolSchema: GenMessage<LocationStoragePool>;
/**
 * @generated from message Ydb.Monitoring.LocationStorage
 */
export type LocationStorage = Message<"Ydb.Monitoring.LocationStorage"> & {
    /**
     * @generated from field: Ydb.Monitoring.LocationNode node = 1;
     */
    node?: LocationNode;
    /**
     * @generated from field: Ydb.Monitoring.LocationStoragePool pool = 2;
     */
    pool?: LocationStoragePool;
};
/**
 * Describes the message Ydb.Monitoring.LocationStorage.
 * Use `create(LocationStorageSchema)` to create a new message.
 */
export declare const LocationStorageSchema: GenMessage<LocationStorage>;
/**
 * @generated from message Ydb.Monitoring.LocationComputePool
 */
export type LocationComputePool = Message<"Ydb.Monitoring.LocationComputePool"> & {
    /**
     * @generated from field: string name = 1;
     */
    name: string;
};
/**
 * Describes the message Ydb.Monitoring.LocationComputePool.
 * Use `create(LocationComputePoolSchema)` to create a new message.
 */
export declare const LocationComputePoolSchema: GenMessage<LocationComputePool>;
/**
 * @generated from message Ydb.Monitoring.LocationComputeTablet
 */
export type LocationComputeTablet = Message<"Ydb.Monitoring.LocationComputeTablet"> & {
    /**
     * @generated from field: string type = 1;
     */
    type: string;
    /**
     * @generated from field: repeated string id = 2;
     */
    id: string[];
    /**
     * @generated from field: uint32 count = 3;
     */
    count: number;
};
/**
 * Describes the message Ydb.Monitoring.LocationComputeTablet.
 * Use `create(LocationComputeTabletSchema)` to create a new message.
 */
export declare const LocationComputeTabletSchema: GenMessage<LocationComputeTablet>;
/**
 * @generated from message Ydb.Monitoring.LocationCompute
 */
export type LocationCompute = Message<"Ydb.Monitoring.LocationCompute"> & {
    /**
     * @generated from field: Ydb.Monitoring.LocationNode node = 1;
     */
    node?: LocationNode;
    /**
     * @generated from field: Ydb.Monitoring.LocationComputePool pool = 2;
     */
    pool?: LocationComputePool;
    /**
     * @generated from field: Ydb.Monitoring.LocationComputeTablet tablet = 3;
     */
    tablet?: LocationComputeTablet;
};
/**
 * Describes the message Ydb.Monitoring.LocationCompute.
 * Use `create(LocationComputeSchema)` to create a new message.
 */
export declare const LocationComputeSchema: GenMessage<LocationCompute>;
/**
 * @generated from message Ydb.Monitoring.LocationDatabase
 */
export type LocationDatabase = Message<"Ydb.Monitoring.LocationDatabase"> & {
    /**
     * @generated from field: string name = 1;
     */
    name: string;
};
/**
 * Describes the message Ydb.Monitoring.LocationDatabase.
 * Use `create(LocationDatabaseSchema)` to create a new message.
 */
export declare const LocationDatabaseSchema: GenMessage<LocationDatabase>;
/**
 * @generated from message Ydb.Monitoring.Location
 */
export type Location = Message<"Ydb.Monitoring.Location"> & {
    /**
     * @generated from field: Ydb.Monitoring.LocationStorage storage = 1;
     */
    storage?: LocationStorage;
    /**
     * @generated from field: Ydb.Monitoring.LocationCompute compute = 2;
     */
    compute?: LocationCompute;
    /**
     * @generated from field: Ydb.Monitoring.LocationDatabase database = 3;
     */
    database?: LocationDatabase;
};
/**
 * Describes the message Ydb.Monitoring.Location.
 * Use `create(LocationSchema)` to create a new message.
 */
export declare const LocationSchema: GenMessage<Location>;
/**
 * @generated from message Ydb.Monitoring.IssueLog
 */
export type IssueLog = Message<"Ydb.Monitoring.IssueLog"> & {
    /**
     * @generated from field: string id = 1;
     */
    id: string;
    /**
     * @generated from field: Ydb.Monitoring.StatusFlag.Status status = 2;
     */
    status: StatusFlag_Status;
    /**
     * @generated from field: string message = 3;
     */
    message: string;
    /**
     * @generated from field: Ydb.Monitoring.Location location = 4;
     */
    location?: Location;
    /**
     * @generated from field: repeated string reason = 5;
     */
    reason: string[];
    /**
     * @generated from field: string type = 6;
     */
    type: string;
    /**
     * @generated from field: uint32 level = 7;
     */
    level: number;
    /**
     * @generated from field: uint32 listed = 8;
     */
    listed: number;
    /**
     * @generated from field: uint32 count = 9;
     */
    count: number;
};
/**
 * Describes the message Ydb.Monitoring.IssueLog.
 * Use `create(IssueLogSchema)` to create a new message.
 */
export declare const IssueLogSchema: GenMessage<IssueLog>;
/**
 * @generated from message Ydb.Monitoring.DatabaseStatus
 */
export type DatabaseStatus = Message<"Ydb.Monitoring.DatabaseStatus"> & {
    /**
     * @generated from field: string name = 1;
     */
    name: string;
    /**
     * @generated from field: Ydb.Monitoring.StatusFlag.Status overall = 2;
     */
    overall: StatusFlag_Status;
    /**
     * @generated from field: Ydb.Monitoring.StorageStatus storage = 3;
     */
    storage?: StorageStatus;
    /**
     * @generated from field: Ydb.Monitoring.ComputeStatus compute = 4;
     */
    compute?: ComputeStatus;
};
/**
 * Describes the message Ydb.Monitoring.DatabaseStatus.
 * Use `create(DatabaseStatusSchema)` to create a new message.
 */
export declare const DatabaseStatusSchema: GenMessage<DatabaseStatus>;
/**
 * @generated from message Ydb.Monitoring.SelfCheckResult
 */
export type SelfCheckResult = Message<"Ydb.Monitoring.SelfCheckResult"> & {
    /**
     * @generated from field: Ydb.Monitoring.SelfCheck.Result self_check_result = 1;
     */
    selfCheckResult: SelfCheck_Result;
    /**
     * @generated from field: repeated Ydb.Monitoring.IssueLog issue_log = 2;
     */
    issueLog: IssueLog[];
    /**
     * @generated from field: repeated Ydb.Monitoring.DatabaseStatus database_status = 3;
     */
    databaseStatus: DatabaseStatus[];
};
/**
 * Describes the message Ydb.Monitoring.SelfCheckResult.
 * Use `create(SelfCheckResultSchema)` to create a new message.
 */
export declare const SelfCheckResultSchema: GenMessage<SelfCheckResult>;
//# sourceMappingURL=ydb_monitoring_pb.d.ts.map