import _m0 from "protobufjs/minimal";
import { TimeOfDay } from "../../../../../google/type/timeofday";
import { Mysqlconfigset57 } from "../../../../../yandex/cloud/mdb/mysql/v1alpha/config/mysql5_7";
export declare const protobufPackage = "yandex.cloud.mdb.mysql.v1alpha";
/**
 * A MySQL cluster. For more information, see
 * the [documentation](/docs/managed-mysql/concepts).
 */
export interface Cluster {
    $type: "yandex.cloud.mdb.mysql.v1alpha.Cluster";
    /**
     * ID of the MySQL cluster.
     * This ID is assigned by Managed Service for MySQL at creation time.
     */
    id: string;
    /** ID of the folder that the MySQL cluster belongs to. */
    folderId: string;
    createdAt?: Date;
    /**
     * Name of the MySQL cluster.
     * The name must be unique within the folder, comply with RFC 1035
     * and be 1-63 characters long.
     */
    name: string;
    /** Description of the MySQL cluster. 0-256 characters long. */
    description: string;
    /**
     * Custom labels for the MySQL cluster as `key:value` pairs.
     * Maximum 64 per resource.
     */
    labels: {
        [key: string]: string;
    };
    /** Deployment environment of the MySQL cluster. */
    environment: Cluster_Environment;
    /** Description of monitoring systems relevant to the MySQL cluster. */
    monitoring: Monitoring[];
    /** Configuration of the MySQL cluster. */
    config?: ClusterConfig;
    /** ID of the network that the cluster belongs to. */
    networkId: string;
    /** Aggregated cluster health. */
    health: Cluster_Health;
    /** Current state of the cluster. */
    status: Cluster_Status;
}
export declare enum Cluster_Environment {
    ENVIRONMENT_UNSPECIFIED = 0,
    /**
     * PRODUCTION - Stable environment with a conservative update policy:
     * only hotfixes are applied during regular maintenance.
     */
    PRODUCTION = 1,
    /**
     * PRESTABLE - Environment with more aggressive update policy: new versions
     * are rolled out irrespective of backward compatibility.
     */
    PRESTABLE = 2,
    UNRECOGNIZED = -1
}
export declare function cluster_EnvironmentFromJSON(object: any): Cluster_Environment;
export declare function cluster_EnvironmentToJSON(object: Cluster_Environment): string;
export declare enum Cluster_Health {
    /** HEALTH_UNKNOWN - State of the cluster is unknown ([Host.health] for every host in the cluster is UNKNOWN). */
    HEALTH_UNKNOWN = 0,
    /** ALIVE - Cluster is alive and well ([Host.health] for every host in the cluster is ALIVE). */
    ALIVE = 1,
    /** DEAD - Cluster is inoperable ([Host.health] for every host in the cluster is DEAD). */
    DEAD = 2,
    /** DEGRADED - Cluster is working below capacity ([Host.health] for at least one host in the cluster is not ALIVE). */
    DEGRADED = 3,
    UNRECOGNIZED = -1
}
export declare function cluster_HealthFromJSON(object: any): Cluster_Health;
export declare function cluster_HealthToJSON(object: Cluster_Health): string;
export declare enum Cluster_Status {
    /** STATUS_UNKNOWN - Cluster state is unknown. */
    STATUS_UNKNOWN = 0,
    /** CREATING - Cluster is being created. */
    CREATING = 1,
    /** RUNNING - Cluster is running normally. */
    RUNNING = 2,
    /** ERROR - Cluster encountered a problem and cannot operate. */
    ERROR = 3,
    /** UPDATING - Cluster is being updated. */
    UPDATING = 4,
    /** STOPPING - Cluster is stopping. */
    STOPPING = 5,
    /** STOPPED - Cluster stopped. */
    STOPPED = 6,
    /** STARTING - Cluster is starting. */
    STARTING = 7,
    UNRECOGNIZED = -1
}
export declare function cluster_StatusFromJSON(object: any): Cluster_Status;
export declare function cluster_StatusToJSON(object: Cluster_Status): string;
export interface Cluster_LabelsEntry {
    $type: "yandex.cloud.mdb.mysql.v1alpha.Cluster.LabelsEntry";
    key: string;
    value: string;
}
export interface Monitoring {
    $type: "yandex.cloud.mdb.mysql.v1alpha.Monitoring";
    /** Name of the monitoring system. */
    name: string;
    /** Description of the monitoring system. */
    description: string;
    /** Link to the monitoring system charts for the MySQL cluster. */
    link: string;
}
export interface ClusterConfig {
    $type: "yandex.cloud.mdb.mysql.v1alpha.ClusterConfig";
    /** Version of MySQL server software. */
    version: string;
    /** Configuration of a MySQL 5.7 server. */
    mysqlConfig57?: Mysqlconfigset57 | undefined;
    /** Resources allocated to MySQL hosts. */
    resources?: Resources;
    /** Time to start the daily backup, in the UTC timezone. */
    backupWindowStart?: TimeOfDay;
}
export interface Host {
    $type: "yandex.cloud.mdb.mysql.v1alpha.Host";
    /**
     * Name of the MySQL host. The host name is assigned by Managed Service for MySQL
     * at creation time, and cannot be changed. 1-63 characters long.
     *
     * The name is unique across all database hosts that exist on the platform,
     * as it defines the FQDN of the host.
     */
    name: string;
    /**
     * ID of the MySQL host. The ID is assigned by Managed Service for MySQL
     * at creation time.
     */
    clusterId: string;
    /** ID of the availability zone where the MySQL host resides. */
    zoneId: string;
    /** Resources allocated to the host. */
    resources?: Resources;
    /** Role of the host in the cluster. */
    role: Host_Role;
    /** Status code of the aggregated health of the host. */
    health: Host_Health;
    /** Services provided by the host. */
    services: Service[];
    /** ID of the subnet that the host belongs to. */
    subnetId: string;
    /** Flag showing public IP assignment status to this host. */
    assignPublicIp: boolean;
}
export declare enum Host_Role {
    /** ROLE_UNKNOWN - Role of the host in the cluster is unknown. */
    ROLE_UNKNOWN = 0,
    /** MASTER - Host is the master MySQL server in the cluster. */
    MASTER = 1,
    /** REPLICA - Host is a replica MySQL server in the cluster. */
    REPLICA = 2,
    UNRECOGNIZED = -1
}
export declare function host_RoleFromJSON(object: any): Host_Role;
export declare function host_RoleToJSON(object: Host_Role): string;
export declare enum Host_Health {
    /** HEALTH_UNKNOWN - Health of the host is unknown. */
    HEALTH_UNKNOWN = 0,
    /** ALIVE - The host is performing all its functions normally. */
    ALIVE = 1,
    /** DEAD - The host is inoperable, and cannot perform any of its essential functions. */
    DEAD = 2,
    /** DEGRADED - The host is degraded, and can perform only some of its essential functions. */
    DEGRADED = 3,
    UNRECOGNIZED = -1
}
export declare function host_HealthFromJSON(object: any): Host_Health;
export declare function host_HealthToJSON(object: Host_Health): string;
export interface Service {
    $type: "yandex.cloud.mdb.mysql.v1alpha.Service";
    /** Type of the service provided by the host. */
    type: Service_Type;
    /** Status code of server availability. */
    health: Service_Health;
}
export declare enum Service_Type {
    TYPE_UNSPECIFIED = 0,
    /** MYSQL_ERROR - Host provides the MySQL error log. */
    MYSQL_ERROR = 1,
    /** MYSQL_GENERAL - Host provides the MySQL general query log. */
    MYSQL_GENERAL = 2,
    /** MYSQL_SLOW_QUERY - Host provides the MySQL slow query log. */
    MYSQL_SLOW_QUERY = 3,
    UNRECOGNIZED = -1
}
export declare function service_TypeFromJSON(object: any): Service_Type;
export declare function service_TypeToJSON(object: Service_Type): string;
export declare enum Service_Health {
    /** HEALTH_UNKNOWN - Health of the server is unknown. */
    HEALTH_UNKNOWN = 0,
    /** ALIVE - The server is working normally. */
    ALIVE = 1,
    /** DEAD - The server is dead or unresponsive. */
    DEAD = 2,
    UNRECOGNIZED = -1
}
export declare function service_HealthFromJSON(object: any): Service_Health;
export declare function service_HealthToJSON(object: Service_Health): string;
export interface Resources {
    $type: "yandex.cloud.mdb.mysql.v1alpha.Resources";
    /**
     * ID of the preset for computational resources available to a host (CPU, memory etc.).
     * All available presets are listed in the [documentation](/docs/managed-mysql/concepts/instance-types).
     */
    resourcePresetId: string;
    /** Volume of the storage available to a host. */
    diskSize: number;
    /**
     * Type of the storage environment for the host.
     * Possible values:
     * * network-ssd - network SSD drive,
     * * local-ssd - local SSD storage.
     */
    diskTypeId: string;
}
export declare const Cluster: {
    $type: "yandex.cloud.mdb.mysql.v1alpha.Cluster";
    encode(message: Cluster, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number | undefined): Cluster;
    fromJSON(object: any): Cluster;
    toJSON(message: Cluster): unknown;
    fromPartial<I extends {
        description?: string | undefined;
        id?: string | undefined;
        name?: string | undefined;
        createdAt?: Date | undefined;
        status?: Cluster_Status | undefined;
        config?: {
            resources?: {
                diskTypeId?: string | undefined;
                diskSize?: number | undefined;
                resourcePresetId?: string | undefined;
            } | undefined;
            version?: string | undefined;
            backupWindowStart?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
                hours?: number | undefined;
                minutes?: number | undefined;
            } | undefined;
            mysqlConfig57?: {
                effectiveConfig?: {
                    maxConnections?: number | undefined;
                    innodbBufferPoolSize?: number | undefined;
                    longQueryTime?: number | undefined;
                } | undefined;
                userConfig?: {
                    maxConnections?: number | undefined;
                    innodbBufferPoolSize?: number | undefined;
                    longQueryTime?: number | undefined;
                } | undefined;
                defaultConfig?: {
                    maxConnections?: number | undefined;
                    innodbBufferPoolSize?: number | undefined;
                    longQueryTime?: number | undefined;
                } | undefined;
            } | undefined;
        } | undefined;
        folderId?: string | undefined;
        labels?: {
            [x: string]: string | undefined;
            [x: number]: string | undefined;
        } | undefined;
        networkId?: string | undefined;
        health?: Cluster_Health | undefined;
        monitoring?: {
            link?: string | undefined;
            description?: string | undefined;
            name?: string | undefined;
        }[] | undefined;
        environment?: Cluster_Environment | undefined;
    } & {
        description?: string | undefined;
        id?: string | undefined;
        name?: string | undefined;
        createdAt?: Date | undefined;
        status?: Cluster_Status | undefined;
        config?: ({
            resources?: {
                diskTypeId?: string | undefined;
                diskSize?: number | undefined;
                resourcePresetId?: string | undefined;
            } | undefined;
            version?: string | undefined;
            backupWindowStart?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
                hours?: number | undefined;
                minutes?: number | undefined;
            } | undefined;
            mysqlConfig57?: {
                effectiveConfig?: {
                    maxConnections?: number | undefined;
                    innodbBufferPoolSize?: number | undefined;
                    longQueryTime?: number | undefined;
                } | undefined;
                userConfig?: {
                    maxConnections?: number | undefined;
                    innodbBufferPoolSize?: number | undefined;
                    longQueryTime?: number | undefined;
                } | undefined;
                defaultConfig?: {
                    maxConnections?: number | undefined;
                    innodbBufferPoolSize?: number | undefined;
                    longQueryTime?: number | undefined;
                } | undefined;
            } | undefined;
        } & {
            resources?: ({
                diskTypeId?: string | undefined;
                diskSize?: number | undefined;
                resourcePresetId?: string | undefined;
            } & {
                diskTypeId?: string | undefined;
                diskSize?: number | undefined;
                resourcePresetId?: string | undefined;
            } & Record<Exclude<keyof I["config"]["resources"], "$type" | "diskTypeId" | "diskSize" | "resourcePresetId">, never>) | undefined;
            version?: string | undefined;
            backupWindowStart?: ({
                seconds?: number | undefined;
                nanos?: number | undefined;
                hours?: number | undefined;
                minutes?: number | undefined;
            } & {
                seconds?: number | undefined;
                nanos?: number | undefined;
                hours?: number | undefined;
                minutes?: number | undefined;
            } & Record<Exclude<keyof I["config"]["backupWindowStart"], "$type" | "seconds" | "nanos" | "hours" | "minutes">, never>) | undefined;
            mysqlConfig57?: ({
                effectiveConfig?: {
                    maxConnections?: number | undefined;
                    innodbBufferPoolSize?: number | undefined;
                    longQueryTime?: number | undefined;
                } | undefined;
                userConfig?: {
                    maxConnections?: number | undefined;
                    innodbBufferPoolSize?: number | undefined;
                    longQueryTime?: number | undefined;
                } | undefined;
                defaultConfig?: {
                    maxConnections?: number | undefined;
                    innodbBufferPoolSize?: number | undefined;
                    longQueryTime?: number | undefined;
                } | undefined;
            } & {
                effectiveConfig?: ({
                    maxConnections?: number | undefined;
                    innodbBufferPoolSize?: number | undefined;
                    longQueryTime?: number | undefined;
                } & {
                    maxConnections?: number | undefined;
                    innodbBufferPoolSize?: number | undefined;
                    longQueryTime?: number | undefined;
                } & Record<Exclude<keyof I["config"]["mysqlConfig57"]["effectiveConfig"], "$type" | "maxConnections" | "innodbBufferPoolSize" | "longQueryTime">, never>) | undefined;
                userConfig?: ({
                    maxConnections?: number | undefined;
                    innodbBufferPoolSize?: number | undefined;
                    longQueryTime?: number | undefined;
                } & {
                    maxConnections?: number | undefined;
                    innodbBufferPoolSize?: number | undefined;
                    longQueryTime?: number | undefined;
                } & Record<Exclude<keyof I["config"]["mysqlConfig57"]["userConfig"], "$type" | "maxConnections" | "innodbBufferPoolSize" | "longQueryTime">, never>) | undefined;
                defaultConfig?: ({
                    maxConnections?: number | undefined;
                    innodbBufferPoolSize?: number | undefined;
                    longQueryTime?: number | undefined;
                } & {
                    maxConnections?: number | undefined;
                    innodbBufferPoolSize?: number | undefined;
                    longQueryTime?: number | undefined;
                } & Record<Exclude<keyof I["config"]["mysqlConfig57"]["defaultConfig"], "$type" | "maxConnections" | "innodbBufferPoolSize" | "longQueryTime">, never>) | undefined;
            } & Record<Exclude<keyof I["config"]["mysqlConfig57"], "$type" | "effectiveConfig" | "userConfig" | "defaultConfig">, never>) | undefined;
        } & Record<Exclude<keyof I["config"], "$type" | "resources" | "version" | "backupWindowStart" | "mysqlConfig57">, never>) | undefined;
        folderId?: string | undefined;
        labels?: ({
            [x: string]: string | undefined;
            [x: number]: string | undefined;
        } & {
            [x: string]: string | undefined;
            [x: number]: string | undefined;
        } & Record<Exclude<keyof I["labels"], string | number>, never>) | undefined;
        networkId?: string | undefined;
        health?: Cluster_Health | undefined;
        monitoring?: ({
            link?: string | undefined;
            description?: string | undefined;
            name?: string | undefined;
        }[] & ({
            link?: string | undefined;
            description?: string | undefined;
            name?: string | undefined;
        } & {
            link?: string | undefined;
            description?: string | undefined;
            name?: string | undefined;
        } & Record<Exclude<keyof I["monitoring"][number], "$type" | "link" | "description" | "name">, never>)[] & Record<Exclude<keyof I["monitoring"], "$type" | keyof {
            link?: string | undefined;
            description?: string | undefined;
            name?: string | undefined;
        }[]>, never>) | undefined;
        environment?: Cluster_Environment | undefined;
    } & Record<Exclude<keyof I, "$type" | "description" | "id" | "name" | "createdAt" | "status" | "config" | "folderId" | "labels" | "networkId" | "health" | "monitoring" | "environment">, never>>(object: I): Cluster;
};
export declare const Cluster_LabelsEntry: {
    $type: "yandex.cloud.mdb.mysql.v1alpha.Cluster.LabelsEntry";
    encode(message: Cluster_LabelsEntry, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number | undefined): Cluster_LabelsEntry;
    fromJSON(object: any): Cluster_LabelsEntry;
    toJSON(message: Cluster_LabelsEntry): unknown;
    fromPartial<I extends {
        value?: string | undefined;
        key?: string | undefined;
    } & {
        value?: string | undefined;
        key?: string | undefined;
    } & Record<Exclude<keyof I, "$type" | "value" | "key">, never>>(object: I): Cluster_LabelsEntry;
};
export declare const Monitoring: {
    $type: "yandex.cloud.mdb.mysql.v1alpha.Monitoring";
    encode(message: Monitoring, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number | undefined): Monitoring;
    fromJSON(object: any): Monitoring;
    toJSON(message: Monitoring): unknown;
    fromPartial<I extends {
        link?: string | undefined;
        description?: string | undefined;
        name?: string | undefined;
    } & {
        link?: string | undefined;
        description?: string | undefined;
        name?: string | undefined;
    } & Record<Exclude<keyof I, "$type" | "link" | "description" | "name">, never>>(object: I): Monitoring;
};
export declare const ClusterConfig: {
    $type: "yandex.cloud.mdb.mysql.v1alpha.ClusterConfig";
    encode(message: ClusterConfig, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number | undefined): ClusterConfig;
    fromJSON(object: any): ClusterConfig;
    toJSON(message: ClusterConfig): unknown;
    fromPartial<I extends {
        resources?: {
            diskTypeId?: string | undefined;
            diskSize?: number | undefined;
            resourcePresetId?: string | undefined;
        } | undefined;
        version?: string | undefined;
        backupWindowStart?: {
            seconds?: number | undefined;
            nanos?: number | undefined;
            hours?: number | undefined;
            minutes?: number | undefined;
        } | undefined;
        mysqlConfig57?: {
            effectiveConfig?: {
                maxConnections?: number | undefined;
                innodbBufferPoolSize?: number | undefined;
                longQueryTime?: number | undefined;
            } | undefined;
            userConfig?: {
                maxConnections?: number | undefined;
                innodbBufferPoolSize?: number | undefined;
                longQueryTime?: number | undefined;
            } | undefined;
            defaultConfig?: {
                maxConnections?: number | undefined;
                innodbBufferPoolSize?: number | undefined;
                longQueryTime?: number | undefined;
            } | undefined;
        } | undefined;
    } & {
        resources?: ({
            diskTypeId?: string | undefined;
            diskSize?: number | undefined;
            resourcePresetId?: string | undefined;
        } & {
            diskTypeId?: string | undefined;
            diskSize?: number | undefined;
            resourcePresetId?: string | undefined;
        } & Record<Exclude<keyof I["resources"], "$type" | "diskTypeId" | "diskSize" | "resourcePresetId">, never>) | undefined;
        version?: string | undefined;
        backupWindowStart?: ({
            seconds?: number | undefined;
            nanos?: number | undefined;
            hours?: number | undefined;
            minutes?: number | undefined;
        } & {
            seconds?: number | undefined;
            nanos?: number | undefined;
            hours?: number | undefined;
            minutes?: number | undefined;
        } & Record<Exclude<keyof I["backupWindowStart"], "$type" | "seconds" | "nanos" | "hours" | "minutes">, never>) | undefined;
        mysqlConfig57?: ({
            effectiveConfig?: {
                maxConnections?: number | undefined;
                innodbBufferPoolSize?: number | undefined;
                longQueryTime?: number | undefined;
            } | undefined;
            userConfig?: {
                maxConnections?: number | undefined;
                innodbBufferPoolSize?: number | undefined;
                longQueryTime?: number | undefined;
            } | undefined;
            defaultConfig?: {
                maxConnections?: number | undefined;
                innodbBufferPoolSize?: number | undefined;
                longQueryTime?: number | undefined;
            } | undefined;
        } & {
            effectiveConfig?: ({
                maxConnections?: number | undefined;
                innodbBufferPoolSize?: number | undefined;
                longQueryTime?: number | undefined;
            } & {
                maxConnections?: number | undefined;
                innodbBufferPoolSize?: number | undefined;
                longQueryTime?: number | undefined;
            } & Record<Exclude<keyof I["mysqlConfig57"]["effectiveConfig"], "$type" | "maxConnections" | "innodbBufferPoolSize" | "longQueryTime">, never>) | undefined;
            userConfig?: ({
                maxConnections?: number | undefined;
                innodbBufferPoolSize?: number | undefined;
                longQueryTime?: number | undefined;
            } & {
                maxConnections?: number | undefined;
                innodbBufferPoolSize?: number | undefined;
                longQueryTime?: number | undefined;
            } & Record<Exclude<keyof I["mysqlConfig57"]["userConfig"], "$type" | "maxConnections" | "innodbBufferPoolSize" | "longQueryTime">, never>) | undefined;
            defaultConfig?: ({
                maxConnections?: number | undefined;
                innodbBufferPoolSize?: number | undefined;
                longQueryTime?: number | undefined;
            } & {
                maxConnections?: number | undefined;
                innodbBufferPoolSize?: number | undefined;
                longQueryTime?: number | undefined;
            } & Record<Exclude<keyof I["mysqlConfig57"]["defaultConfig"], "$type" | "maxConnections" | "innodbBufferPoolSize" | "longQueryTime">, never>) | undefined;
        } & Record<Exclude<keyof I["mysqlConfig57"], "$type" | "effectiveConfig" | "userConfig" | "defaultConfig">, never>) | undefined;
    } & Record<Exclude<keyof I, "$type" | "resources" | "version" | "backupWindowStart" | "mysqlConfig57">, never>>(object: I): ClusterConfig;
};
export declare const Host: {
    $type: "yandex.cloud.mdb.mysql.v1alpha.Host";
    encode(message: Host, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number | undefined): Host;
    fromJSON(object: any): Host;
    toJSON(message: Host): unknown;
    fromPartial<I extends {
        name?: string | undefined;
        role?: Host_Role | undefined;
        subnetId?: string | undefined;
        zoneId?: string | undefined;
        resources?: {
            diskTypeId?: string | undefined;
            diskSize?: number | undefined;
            resourcePresetId?: string | undefined;
        } | undefined;
        services?: {
            type?: Service_Type | undefined;
            health?: Service_Health | undefined;
        }[] | undefined;
        health?: Host_Health | undefined;
        clusterId?: string | undefined;
        assignPublicIp?: boolean | undefined;
    } & {
        name?: string | undefined;
        role?: Host_Role | undefined;
        subnetId?: string | undefined;
        zoneId?: string | undefined;
        resources?: ({
            diskTypeId?: string | undefined;
            diskSize?: number | undefined;
            resourcePresetId?: string | undefined;
        } & {
            diskTypeId?: string | undefined;
            diskSize?: number | undefined;
            resourcePresetId?: string | undefined;
        } & Record<Exclude<keyof I["resources"], "$type" | "diskTypeId" | "diskSize" | "resourcePresetId">, never>) | undefined;
        services?: ({
            type?: Service_Type | undefined;
            health?: Service_Health | undefined;
        }[] & ({
            type?: Service_Type | undefined;
            health?: Service_Health | undefined;
        } & {
            type?: Service_Type | undefined;
            health?: Service_Health | undefined;
        } & Record<Exclude<keyof I["services"][number], "$type" | "type" | "health">, never>)[] & Record<Exclude<keyof I["services"], "$type" | keyof {
            type?: Service_Type | undefined;
            health?: Service_Health | undefined;
        }[]>, never>) | undefined;
        health?: Host_Health | undefined;
        clusterId?: string | undefined;
        assignPublicIp?: boolean | undefined;
    } & Record<Exclude<keyof I, "$type" | "name" | "role" | "subnetId" | "zoneId" | "resources" | "services" | "health" | "clusterId" | "assignPublicIp">, never>>(object: I): Host;
};
export declare const Service: {
    $type: "yandex.cloud.mdb.mysql.v1alpha.Service";
    encode(message: Service, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number | undefined): Service;
    fromJSON(object: any): Service;
    toJSON(message: Service): unknown;
    fromPartial<I extends {
        type?: Service_Type | undefined;
        health?: Service_Health | undefined;
    } & {
        type?: Service_Type | undefined;
        health?: Service_Health | undefined;
    } & Record<Exclude<keyof I, "$type" | "type" | "health">, never>>(object: I): Service;
};
export declare const Resources: {
    $type: "yandex.cloud.mdb.mysql.v1alpha.Resources";
    encode(message: Resources, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number | undefined): Resources;
    fromJSON(object: any): Resources;
    toJSON(message: Resources): unknown;
    fromPartial<I extends {
        diskTypeId?: string | undefined;
        diskSize?: number | undefined;
        resourcePresetId?: string | undefined;
    } & {
        diskTypeId?: string | undefined;
        diskSize?: number | undefined;
        resourcePresetId?: string | undefined;
    } & Record<Exclude<keyof I, "$type" | "diskTypeId" | "diskSize" | "resourcePresetId">, never>>(object: I): Resources;
};
declare type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
export declare type DeepPartial<T> = T extends Builtin ? T : T extends Array<infer U> ? Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {} ? {
    [K in Exclude<keyof T, "$type">]?: DeepPartial<T[K]>;
} : Partial<T>;
declare type KeysOfUnion<T> = T extends T ? keyof T : never;
export declare type Exact<P, I extends P> = P extends Builtin ? P : P & {
    [K in keyof P]: Exact<P[K], I[K]>;
} & Record<Exclude<keyof I, KeysOfUnion<P> | "$type">, never>;
export {};
