/// <reference types="node" />
import { ChannelCredentials, ChannelOptions, UntypedServiceImplementation, handleUnaryCall, Client, ClientUnaryCall, Metadata, CallOptions, ServiceError } from '@grpc/grpc-js';
import _m0 from 'protobufjs/minimal';
import { ClusterConfig, NetworkConfig, CodeSyncConfig, LoggingConfig, AirflowConfig, WebserverConfig, SchedulerConfig, TriggererConfig, WorkerConfig, Dependencies, LockboxConfig, Cluster } from '../../../../yandex/cloud/airflow/v1/cluster';
import { MaintenanceWindow } from '../../../../yandex/cloud/airflow/v1/maintenance';
import { FieldMask } from '../../../../google/protobuf/field_mask';
import { Operation } from '../../../../yandex/cloud/operation/operation';
export declare const protobufPackage = "yandex.cloud.airflow.v1";
export interface GetClusterRequest {
    /** ID of the Apache Airflow Cluster resource to return. */
    clusterId: string;
}
export interface ListClustersRequest {
    /** ID of the folder to list Apache Airflow clusters in. */
    folderId: string;
    /**
     * The maximum number of results per page to return. If the number of available
     * results is larger than [page_size], the service returns a [ListClustersResponse.next_page_token]
     * that can be used to get the next page of results in subsequent list requests.
     */
    pageSize: number;
    /**
     * Page token. To get the next page of results, set [page_token] to the [ListClustersResponse.next_page_token]
     * returned by the previous list request.
     */
    pageToken: string;
    /**
     * A filter expression that filters resources listed in the response.
     * The expression must specify:
     * 1. The field name. Currently you can only use filtering with the [Cluster.name] field.
     * 2. An `=` operator.
     * 3. The value in double quotes (`"`). Must be 1-63 characters long and match the regular expression `[a-zA-Z0-9_-]+`.
     */
    filter: string;
}
export interface ListClustersResponse {
    /** List of Apache Airflow Cluster resources. */
    clusters: Cluster[];
    /**
     * This token allows you to get the next page of results for list requests. If the number of results
     * is larger than [ListClustersRequest.page_size], use the [next_page_token] as the value
     * for the [ListClustersRequest.page_token] parameter in the next list request. Each subsequent
     * list request will have its own [next_page_token] to continue paging through the results.
     */
    nextPageToken: string;
}
export interface CreateClusterRequest {
    /** ID of the folder to create Apache Airflow cluster in. */
    folderId: string;
    /** Name of the Apache Airflow cluster. The name must be unique within the folder. */
    name: string;
    /** Description of the Apache Airflow cluster. */
    description: string;
    /** Custom labels for the Apache Airflow cluster as `` key:value `` pairs. For example, "env": "prod". */
    labels: {
        [key: string]: string;
    };
    /** Configuration of Apache Airflow components. */
    config?: ClusterConfig;
    /** Network related configuration options. */
    network?: NetworkConfig;
    /** Parameters of the location and access to the code that will be executed in the cluster. */
    codeSync?: CodeSyncConfig;
    /** Deletion Protection inhibits deletion of the cluster. */
    deletionProtection: boolean;
    /**
     * Service account used to access Cloud resources.
     * For more information, see [documentation](/docs/managed-airflow/concepts/impersonation).
     */
    serviceAccountId: string;
    /** Cloud Logging configuration. */
    logging?: LoggingConfig;
    /** Password of user `admin`. */
    adminPassword: string;
    /** Window of maintenance operations. */
    maintenanceWindow?: MaintenanceWindow;
}
export interface CreateClusterRequest_LabelsEntry {
    key: string;
    value: string;
}
export interface CreateClusterMetadata {
    /** ID of the Apache Airflow cluster that is being created. */
    clusterId: string;
}
export interface UpdateClusterConfigSpec {
    /** Configuration of the Apache Airflow application itself. */
    airflow?: AirflowConfig;
    /** Configuration of webserver instances. */
    webserver?: WebserverConfig;
    /** Configuration of scheduler instances. */
    scheduler?: SchedulerConfig;
    /** Configuration of triggerer instances. */
    triggerer?: TriggererConfig;
    /** Configuration of worker instances. */
    worker?: WorkerConfig;
    /** The list of additional packages installed in the cluster. */
    dependencies?: Dependencies;
    /** Configuration of Lockbox Secret Backend. */
    lockbox?: LockboxConfig;
    /** Apache Airflow version. Format: "Major.Minor" */
    airflowVersion: string;
    /** Python version. Format: "Major.Minor" */
    pythonVersion: string;
}
export interface UpdateNetworkConfigSpec {
    /** User security groups. */
    securityGroupIds: string[];
}
export interface UpdateClusterRequest {
    /** ID of the Apache Airflow Cluster resource to update. */
    clusterId: string;
    /** Field mask that specifies which fields of the Apache Airflow Cluster resource should be updated. */
    updateMask?: FieldMask;
    /** New name of the cluster. */
    name: string;
    /** New description of the Apache Airflow cluster. */
    description: string;
    /**
     * Custom labels for the Apache Airflow cluster as `` key:value `` pairs. For example, "env": "prod".
     *
     * The new set of labels will completely replace the old ones. To add a label, request the current
     * set with the [ClusterService.Get] method, then send an [ClusterService.Update] request with the new label added to the set.
     */
    labels: {
        [key: string]: string;
    };
    /** Configuration of Apache Airflow components. */
    configSpec?: UpdateClusterConfigSpec;
    /** Parameters of the location and access to the code that will be executed in the cluster. */
    codeSync?: CodeSyncConfig;
    /** Network related configuration options. */
    networkSpec?: UpdateNetworkConfigSpec;
    /** Deletion Protection inhibits deletion of the cluster */
    deletionProtection: boolean;
    /**
     * Service account used to access Cloud resources.
     * For more information, see [documentation](/docs/managed-airflow/concepts/impersonation).
     */
    serviceAccountId: string;
    /** Cloud Logging configuration. */
    logging?: LoggingConfig;
    /** Window of maintenance operations. */
    maintenanceWindow?: MaintenanceWindow;
}
export interface UpdateClusterRequest_LabelsEntry {
    key: string;
    value: string;
}
export interface UpdateClusterMetadata {
    /** ID of the Apache Airflow Cluster resource that is being updated. */
    clusterId: string;
}
export interface DeleteClusterRequest {
    /** ID of the Apache Airflow cluster to delete. */
    clusterId: string;
}
export interface DeleteClusterMetadata {
    /** ID of the Apache Airflow cluster that is being deleted. */
    clusterId: string;
}
export interface StartClusterRequest {
    /** ID of the Apache Airflow cluster to start. */
    clusterId: string;
}
export interface StartClusterMetadata {
    /** ID of the Apache Airflow cluster that is being started. */
    clusterId: string;
}
export interface StopClusterRequest {
    /** ID of the Apache Airflow cluster to stop. */
    clusterId: string;
}
export interface StopClusterMetadata {
    /** ID of the Apache Airflow cluster that is being stopped. */
    clusterId: string;
}
export interface ListClusterOperationsRequest {
    /** ID of the Apache Airflow Cluster resource to list operations for. */
    clusterId: string;
    /**
     * The maximum number of results per page to return. If the number of available
     * results is larger than [page_size], the service returns a [ListClusterOperationsResponse.next_page_token]
     * that can be used to get the next page of results in subsequent list requests.
     */
    pageSize: number;
    /**
     * Page token.  To get the next page of results, set [page_token] to the [ListClusterOperationsResponse.next_page_token]
     * returned by the previous list request.
     */
    pageToken: string;
}
export interface ListClusterOperationsResponse {
    /** List of Operation resources for the specified Apache Airflow cluster. */
    operations: Operation[];
    /**
     * This token allows you to get the next page of results for list requests. If the number of results
     * is larger than [ListClusterOperationsRequest.page_size], use the [next_page_token] as the value
     * for the [ListClusterOperationsRequest.page_token] query parameter in the next list request.
     * Each subsequent list request will have its own [next_page_token] to continue paging through the results.
     */
    nextPageToken: string;
}
export declare const GetClusterRequest: {
    encode(message: GetClusterRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): GetClusterRequest;
    fromJSON(object: any): GetClusterRequest;
    toJSON(message: GetClusterRequest): unknown;
    fromPartial<I extends {
        clusterId?: string | undefined;
    } & {
        clusterId?: string | undefined;
    } & Record<Exclude<keyof I, "clusterId">, never>>(object: I): GetClusterRequest;
};
export declare const ListClustersRequest: {
    encode(message: ListClustersRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): ListClustersRequest;
    fromJSON(object: any): ListClustersRequest;
    toJSON(message: ListClustersRequest): unknown;
    fromPartial<I extends {
        folderId?: string | undefined;
        pageSize?: number | undefined;
        pageToken?: string | undefined;
        filter?: string | undefined;
    } & {
        folderId?: string | undefined;
        pageSize?: number | undefined;
        pageToken?: string | undefined;
        filter?: string | undefined;
    } & Record<Exclude<keyof I, keyof ListClustersRequest>, never>>(object: I): ListClustersRequest;
};
export declare const ListClustersResponse: {
    encode(message: ListClustersResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): ListClustersResponse;
    fromJSON(object: any): ListClustersResponse;
    toJSON(message: ListClustersResponse): unknown;
    fromPartial<I extends {
        clusters?: {
            id?: string | undefined;
            folderId?: string | undefined;
            createdAt?: Date | undefined;
            name?: string | undefined;
            description?: string | undefined;
            labels?: {
                [x: string]: string | undefined;
            } | undefined;
            monitoring?: {
                name?: string | undefined;
                description?: string | undefined;
                link?: string | undefined;
            }[] | undefined;
            config?: {
                versionId?: string | undefined;
                airflow?: {
                    config?: {
                        [x: string]: string | undefined;
                    } | undefined;
                } | undefined;
                webserver?: {
                    count?: number | undefined;
                    resources?: {
                        resourcePresetId?: string | undefined;
                    } | undefined;
                } | undefined;
                scheduler?: {
                    count?: number | undefined;
                    resources?: {
                        resourcePresetId?: string | undefined;
                    } | undefined;
                } | undefined;
                triggerer?: {
                    count?: number | undefined;
                    resources?: {
                        resourcePresetId?: string | undefined;
                    } | undefined;
                } | undefined;
                worker?: {
                    minCount?: number | undefined;
                    maxCount?: number | undefined;
                    resources?: {
                        resourcePresetId?: string | undefined;
                    } | undefined;
                } | undefined;
                dependencies?: {
                    pipPackages?: string[] | undefined;
                    debPackages?: string[] | undefined;
                } | undefined;
                lockbox?: {
                    enabled?: boolean | undefined;
                } | undefined;
                airflowVersion?: string | undefined;
                pythonVersion?: string | undefined;
            } | undefined;
            health?: import("./common").Health | undefined;
            status?: import("../../../../yandex/cloud/airflow/v1/cluster").Cluster_Status | undefined;
            network?: {
                subnetIds?: string[] | undefined;
                securityGroupIds?: string[] | undefined;
            } | undefined;
            codeSync?: {
                s3?: {
                    bucket?: string | undefined;
                } | undefined;
            } | undefined;
            deletionProtection?: boolean | undefined;
            webserverUrl?: string | undefined;
            serviceAccountId?: string | undefined;
            logging?: {
                enabled?: boolean | undefined;
                folderId?: string | undefined;
                logGroupId?: string | undefined;
                minLevel?: import("../../logging/v1/log_entry").LogLevel_Level | undefined;
            } | undefined;
            maintenanceWindow?: {
                anytime?: {} | undefined;
                weeklyMaintenanceWindow?: {
                    day?: import("../../../../yandex/cloud/airflow/v1/maintenance").WeeklyMaintenanceWindow_WeekDay | undefined;
                    hour?: number | undefined;
                } | undefined;
            } | undefined;
            plannedOperation?: {
                info?: string | undefined;
                delayedUntil?: Date | undefined;
                latestMaintenanceTime?: Date | undefined;
                nextMaintenanceWindowTime?: Date | undefined;
            } | undefined;
        }[] | undefined;
        nextPageToken?: string | undefined;
    } & {
        clusters?: ({
            id?: string | undefined;
            folderId?: string | undefined;
            createdAt?: Date | undefined;
            name?: string | undefined;
            description?: string | undefined;
            labels?: {
                [x: string]: string | undefined;
            } | undefined;
            monitoring?: {
                name?: string | undefined;
                description?: string | undefined;
                link?: string | undefined;
            }[] | undefined;
            config?: {
                versionId?: string | undefined;
                airflow?: {
                    config?: {
                        [x: string]: string | undefined;
                    } | undefined;
                } | undefined;
                webserver?: {
                    count?: number | undefined;
                    resources?: {
                        resourcePresetId?: string | undefined;
                    } | undefined;
                } | undefined;
                scheduler?: {
                    count?: number | undefined;
                    resources?: {
                        resourcePresetId?: string | undefined;
                    } | undefined;
                } | undefined;
                triggerer?: {
                    count?: number | undefined;
                    resources?: {
                        resourcePresetId?: string | undefined;
                    } | undefined;
                } | undefined;
                worker?: {
                    minCount?: number | undefined;
                    maxCount?: number | undefined;
                    resources?: {
                        resourcePresetId?: string | undefined;
                    } | undefined;
                } | undefined;
                dependencies?: {
                    pipPackages?: string[] | undefined;
                    debPackages?: string[] | undefined;
                } | undefined;
                lockbox?: {
                    enabled?: boolean | undefined;
                } | undefined;
                airflowVersion?: string | undefined;
                pythonVersion?: string | undefined;
            } | undefined;
            health?: import("./common").Health | undefined;
            status?: import("../../../../yandex/cloud/airflow/v1/cluster").Cluster_Status | undefined;
            network?: {
                subnetIds?: string[] | undefined;
                securityGroupIds?: string[] | undefined;
            } | undefined;
            codeSync?: {
                s3?: {
                    bucket?: string | undefined;
                } | undefined;
            } | undefined;
            deletionProtection?: boolean | undefined;
            webserverUrl?: string | undefined;
            serviceAccountId?: string | undefined;
            logging?: {
                enabled?: boolean | undefined;
                folderId?: string | undefined;
                logGroupId?: string | undefined;
                minLevel?: import("../../logging/v1/log_entry").LogLevel_Level | undefined;
            } | undefined;
            maintenanceWindow?: {
                anytime?: {} | undefined;
                weeklyMaintenanceWindow?: {
                    day?: import("../../../../yandex/cloud/airflow/v1/maintenance").WeeklyMaintenanceWindow_WeekDay | undefined;
                    hour?: number | undefined;
                } | undefined;
            } | undefined;
            plannedOperation?: {
                info?: string | undefined;
                delayedUntil?: Date | undefined;
                latestMaintenanceTime?: Date | undefined;
                nextMaintenanceWindowTime?: Date | undefined;
            } | undefined;
        }[] & ({
            id?: string | undefined;
            folderId?: string | undefined;
            createdAt?: Date | undefined;
            name?: string | undefined;
            description?: string | undefined;
            labels?: {
                [x: string]: string | undefined;
            } | undefined;
            monitoring?: {
                name?: string | undefined;
                description?: string | undefined;
                link?: string | undefined;
            }[] | undefined;
            config?: {
                versionId?: string | undefined;
                airflow?: {
                    config?: {
                        [x: string]: string | undefined;
                    } | undefined;
                } | undefined;
                webserver?: {
                    count?: number | undefined;
                    resources?: {
                        resourcePresetId?: string | undefined;
                    } | undefined;
                } | undefined;
                scheduler?: {
                    count?: number | undefined;
                    resources?: {
                        resourcePresetId?: string | undefined;
                    } | undefined;
                } | undefined;
                triggerer?: {
                    count?: number | undefined;
                    resources?: {
                        resourcePresetId?: string | undefined;
                    } | undefined;
                } | undefined;
                worker?: {
                    minCount?: number | undefined;
                    maxCount?: number | undefined;
                    resources?: {
                        resourcePresetId?: string | undefined;
                    } | undefined;
                } | undefined;
                dependencies?: {
                    pipPackages?: string[] | undefined;
                    debPackages?: string[] | undefined;
                } | undefined;
                lockbox?: {
                    enabled?: boolean | undefined;
                } | undefined;
                airflowVersion?: string | undefined;
                pythonVersion?: string | undefined;
            } | undefined;
            health?: import("./common").Health | undefined;
            status?: import("../../../../yandex/cloud/airflow/v1/cluster").Cluster_Status | undefined;
            network?: {
                subnetIds?: string[] | undefined;
                securityGroupIds?: string[] | undefined;
            } | undefined;
            codeSync?: {
                s3?: {
                    bucket?: string | undefined;
                } | undefined;
            } | undefined;
            deletionProtection?: boolean | undefined;
            webserverUrl?: string | undefined;
            serviceAccountId?: string | undefined;
            logging?: {
                enabled?: boolean | undefined;
                folderId?: string | undefined;
                logGroupId?: string | undefined;
                minLevel?: import("../../logging/v1/log_entry").LogLevel_Level | undefined;
            } | undefined;
            maintenanceWindow?: {
                anytime?: {} | undefined;
                weeklyMaintenanceWindow?: {
                    day?: import("../../../../yandex/cloud/airflow/v1/maintenance").WeeklyMaintenanceWindow_WeekDay | undefined;
                    hour?: number | undefined;
                } | undefined;
            } | undefined;
            plannedOperation?: {
                info?: string | undefined;
                delayedUntil?: Date | undefined;
                latestMaintenanceTime?: Date | undefined;
                nextMaintenanceWindowTime?: Date | undefined;
            } | undefined;
        } & {
            id?: string | undefined;
            folderId?: string | undefined;
            createdAt?: Date | undefined;
            name?: string | undefined;
            description?: string | undefined;
            labels?: ({
                [x: string]: string | undefined;
            } & {
                [x: string]: string | undefined;
            } & Record<Exclude<keyof I["clusters"][number]["labels"], string | number>, never>) | undefined;
            monitoring?: ({
                name?: string | undefined;
                description?: string | undefined;
                link?: string | undefined;
            }[] & ({
                name?: string | undefined;
                description?: string | undefined;
                link?: string | undefined;
            } & {
                name?: string | undefined;
                description?: string | undefined;
                link?: string | undefined;
            } & Record<Exclude<keyof I["clusters"][number]["monitoring"][number], keyof import("../../../../yandex/cloud/airflow/v1/cluster").Monitoring>, never>)[] & Record<Exclude<keyof I["clusters"][number]["monitoring"], keyof {
                name?: string | undefined;
                description?: string | undefined;
                link?: string | undefined;
            }[]>, never>) | undefined;
            config?: ({
                versionId?: string | undefined;
                airflow?: {
                    config?: {
                        [x: string]: string | undefined;
                    } | undefined;
                } | undefined;
                webserver?: {
                    count?: number | undefined;
                    resources?: {
                        resourcePresetId?: string | undefined;
                    } | undefined;
                } | undefined;
                scheduler?: {
                    count?: number | undefined;
                    resources?: {
                        resourcePresetId?: string | undefined;
                    } | undefined;
                } | undefined;
                triggerer?: {
                    count?: number | undefined;
                    resources?: {
                        resourcePresetId?: string | undefined;
                    } | undefined;
                } | undefined;
                worker?: {
                    minCount?: number | undefined;
                    maxCount?: number | undefined;
                    resources?: {
                        resourcePresetId?: string | undefined;
                    } | undefined;
                } | undefined;
                dependencies?: {
                    pipPackages?: string[] | undefined;
                    debPackages?: string[] | undefined;
                } | undefined;
                lockbox?: {
                    enabled?: boolean | undefined;
                } | undefined;
                airflowVersion?: string | undefined;
                pythonVersion?: string | undefined;
            } & {
                versionId?: string | undefined;
                airflow?: ({
                    config?: {
                        [x: string]: string | undefined;
                    } | undefined;
                } & {
                    config?: ({
                        [x: string]: string | undefined;
                    } & {
                        [x: string]: string | undefined;
                    } & Record<Exclude<keyof I["clusters"][number]["config"]["airflow"]["config"], string | number>, never>) | undefined;
                } & Record<Exclude<keyof I["clusters"][number]["config"]["airflow"], "config">, never>) | undefined;
                webserver?: ({
                    count?: number | undefined;
                    resources?: {
                        resourcePresetId?: string | undefined;
                    } | undefined;
                } & {
                    count?: number | undefined;
                    resources?: ({
                        resourcePresetId?: string | undefined;
                    } & {
                        resourcePresetId?: string | undefined;
                    } & Record<Exclude<keyof I["clusters"][number]["config"]["webserver"]["resources"], "resourcePresetId">, never>) | undefined;
                } & Record<Exclude<keyof I["clusters"][number]["config"]["webserver"], keyof WebserverConfig>, never>) | undefined;
                scheduler?: ({
                    count?: number | undefined;
                    resources?: {
                        resourcePresetId?: string | undefined;
                    } | undefined;
                } & {
                    count?: number | undefined;
                    resources?: ({
                        resourcePresetId?: string | undefined;
                    } & {
                        resourcePresetId?: string | undefined;
                    } & Record<Exclude<keyof I["clusters"][number]["config"]["scheduler"]["resources"], "resourcePresetId">, never>) | undefined;
                } & Record<Exclude<keyof I["clusters"][number]["config"]["scheduler"], keyof SchedulerConfig>, never>) | undefined;
                triggerer?: ({
                    count?: number | undefined;
                    resources?: {
                        resourcePresetId?: string | undefined;
                    } | undefined;
                } & {
                    count?: number | undefined;
                    resources?: ({
                        resourcePresetId?: string | undefined;
                    } & {
                        resourcePresetId?: string | undefined;
                    } & Record<Exclude<keyof I["clusters"][number]["config"]["triggerer"]["resources"], "resourcePresetId">, never>) | undefined;
                } & Record<Exclude<keyof I["clusters"][number]["config"]["triggerer"], keyof TriggererConfig>, never>) | undefined;
                worker?: ({
                    minCount?: number | undefined;
                    maxCount?: number | undefined;
                    resources?: {
                        resourcePresetId?: string | undefined;
                    } | undefined;
                } & {
                    minCount?: number | undefined;
                    maxCount?: number | undefined;
                    resources?: ({
                        resourcePresetId?: string | undefined;
                    } & {
                        resourcePresetId?: string | undefined;
                    } & Record<Exclude<keyof I["clusters"][number]["config"]["worker"]["resources"], "resourcePresetId">, never>) | undefined;
                } & Record<Exclude<keyof I["clusters"][number]["config"]["worker"], keyof WorkerConfig>, never>) | undefined;
                dependencies?: ({
                    pipPackages?: string[] | undefined;
                    debPackages?: string[] | undefined;
                } & {
                    pipPackages?: (string[] & string[] & Record<Exclude<keyof I["clusters"][number]["config"]["dependencies"]["pipPackages"], keyof string[]>, never>) | undefined;
                    debPackages?: (string[] & string[] & Record<Exclude<keyof I["clusters"][number]["config"]["dependencies"]["debPackages"], keyof string[]>, never>) | undefined;
                } & Record<Exclude<keyof I["clusters"][number]["config"]["dependencies"], keyof Dependencies>, never>) | undefined;
                lockbox?: ({
                    enabled?: boolean | undefined;
                } & {
                    enabled?: boolean | undefined;
                } & Record<Exclude<keyof I["clusters"][number]["config"]["lockbox"], "enabled">, never>) | undefined;
                airflowVersion?: string | undefined;
                pythonVersion?: string | undefined;
            } & Record<Exclude<keyof I["clusters"][number]["config"], keyof ClusterConfig>, never>) | undefined;
            health?: import("./common").Health | undefined;
            status?: import("../../../../yandex/cloud/airflow/v1/cluster").Cluster_Status | undefined;
            network?: ({
                subnetIds?: string[] | undefined;
                securityGroupIds?: string[] | undefined;
            } & {
                subnetIds?: (string[] & string[] & Record<Exclude<keyof I["clusters"][number]["network"]["subnetIds"], keyof string[]>, never>) | undefined;
                securityGroupIds?: (string[] & string[] & Record<Exclude<keyof I["clusters"][number]["network"]["securityGroupIds"], keyof string[]>, never>) | undefined;
            } & Record<Exclude<keyof I["clusters"][number]["network"], keyof NetworkConfig>, never>) | undefined;
            codeSync?: ({
                s3?: {
                    bucket?: string | undefined;
                } | undefined;
            } & {
                s3?: ({
                    bucket?: string | undefined;
                } & {
                    bucket?: string | undefined;
                } & Record<Exclude<keyof I["clusters"][number]["codeSync"]["s3"], "bucket">, never>) | undefined;
            } & Record<Exclude<keyof I["clusters"][number]["codeSync"], "s3">, never>) | undefined;
            deletionProtection?: boolean | undefined;
            webserverUrl?: string | undefined;
            serviceAccountId?: string | undefined;
            logging?: ({
                enabled?: boolean | undefined;
                folderId?: string | undefined;
                logGroupId?: string | undefined;
                minLevel?: import("../../logging/v1/log_entry").LogLevel_Level | undefined;
            } & {
                enabled?: boolean | undefined;
                folderId?: string | undefined;
                logGroupId?: string | undefined;
                minLevel?: import("../../logging/v1/log_entry").LogLevel_Level | undefined;
            } & Record<Exclude<keyof I["clusters"][number]["logging"], keyof LoggingConfig>, never>) | undefined;
            maintenanceWindow?: ({
                anytime?: {} | undefined;
                weeklyMaintenanceWindow?: {
                    day?: import("../../../../yandex/cloud/airflow/v1/maintenance").WeeklyMaintenanceWindow_WeekDay | undefined;
                    hour?: number | undefined;
                } | undefined;
            } & {
                anytime?: ({} & {} & Record<Exclude<keyof I["clusters"][number]["maintenanceWindow"]["anytime"], never>, never>) | undefined;
                weeklyMaintenanceWindow?: ({
                    day?: import("../../../../yandex/cloud/airflow/v1/maintenance").WeeklyMaintenanceWindow_WeekDay | undefined;
                    hour?: number | undefined;
                } & {
                    day?: import("../../../../yandex/cloud/airflow/v1/maintenance").WeeklyMaintenanceWindow_WeekDay | undefined;
                    hour?: number | undefined;
                } & Record<Exclude<keyof I["clusters"][number]["maintenanceWindow"]["weeklyMaintenanceWindow"], keyof import("../../../../yandex/cloud/airflow/v1/maintenance").WeeklyMaintenanceWindow>, never>) | undefined;
            } & Record<Exclude<keyof I["clusters"][number]["maintenanceWindow"], keyof MaintenanceWindow>, never>) | undefined;
            plannedOperation?: ({
                info?: string | undefined;
                delayedUntil?: Date | undefined;
                latestMaintenanceTime?: Date | undefined;
                nextMaintenanceWindowTime?: Date | undefined;
            } & {
                info?: string | undefined;
                delayedUntil?: Date | undefined;
                latestMaintenanceTime?: Date | undefined;
                nextMaintenanceWindowTime?: Date | undefined;
            } & Record<Exclude<keyof I["clusters"][number]["plannedOperation"], keyof import("../../../../yandex/cloud/airflow/v1/maintenance").MaintenanceOperation>, never>) | undefined;
        } & Record<Exclude<keyof I["clusters"][number], keyof Cluster>, never>)[] & Record<Exclude<keyof I["clusters"], keyof {
            id?: string | undefined;
            folderId?: string | undefined;
            createdAt?: Date | undefined;
            name?: string | undefined;
            description?: string | undefined;
            labels?: {
                [x: string]: string | undefined;
            } | undefined;
            monitoring?: {
                name?: string | undefined;
                description?: string | undefined;
                link?: string | undefined;
            }[] | undefined;
            config?: {
                versionId?: string | undefined;
                airflow?: {
                    config?: {
                        [x: string]: string | undefined;
                    } | undefined;
                } | undefined;
                webserver?: {
                    count?: number | undefined;
                    resources?: {
                        resourcePresetId?: string | undefined;
                    } | undefined;
                } | undefined;
                scheduler?: {
                    count?: number | undefined;
                    resources?: {
                        resourcePresetId?: string | undefined;
                    } | undefined;
                } | undefined;
                triggerer?: {
                    count?: number | undefined;
                    resources?: {
                        resourcePresetId?: string | undefined;
                    } | undefined;
                } | undefined;
                worker?: {
                    minCount?: number | undefined;
                    maxCount?: number | undefined;
                    resources?: {
                        resourcePresetId?: string | undefined;
                    } | undefined;
                } | undefined;
                dependencies?: {
                    pipPackages?: string[] | undefined;
                    debPackages?: string[] | undefined;
                } | undefined;
                lockbox?: {
                    enabled?: boolean | undefined;
                } | undefined;
                airflowVersion?: string | undefined;
                pythonVersion?: string | undefined;
            } | undefined;
            health?: import("./common").Health | undefined;
            status?: import("../../../../yandex/cloud/airflow/v1/cluster").Cluster_Status | undefined;
            network?: {
                subnetIds?: string[] | undefined;
                securityGroupIds?: string[] | undefined;
            } | undefined;
            codeSync?: {
                s3?: {
                    bucket?: string | undefined;
                } | undefined;
            } | undefined;
            deletionProtection?: boolean | undefined;
            webserverUrl?: string | undefined;
            serviceAccountId?: string | undefined;
            logging?: {
                enabled?: boolean | undefined;
                folderId?: string | undefined;
                logGroupId?: string | undefined;
                minLevel?: import("../../logging/v1/log_entry").LogLevel_Level | undefined;
            } | undefined;
            maintenanceWindow?: {
                anytime?: {} | undefined;
                weeklyMaintenanceWindow?: {
                    day?: import("../../../../yandex/cloud/airflow/v1/maintenance").WeeklyMaintenanceWindow_WeekDay | undefined;
                    hour?: number | undefined;
                } | undefined;
            } | undefined;
            plannedOperation?: {
                info?: string | undefined;
                delayedUntil?: Date | undefined;
                latestMaintenanceTime?: Date | undefined;
                nextMaintenanceWindowTime?: Date | undefined;
            } | undefined;
        }[]>, never>) | undefined;
        nextPageToken?: string | undefined;
    } & Record<Exclude<keyof I, keyof ListClustersResponse>, never>>(object: I): ListClustersResponse;
};
export declare const CreateClusterRequest: {
    encode(message: CreateClusterRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): CreateClusterRequest;
    fromJSON(object: any): CreateClusterRequest;
    toJSON(message: CreateClusterRequest): unknown;
    fromPartial<I extends {
        folderId?: string | undefined;
        name?: string | undefined;
        description?: string | undefined;
        labels?: {
            [x: string]: string | undefined;
        } | undefined;
        config?: {
            versionId?: string | undefined;
            airflow?: {
                config?: {
                    [x: string]: string | undefined;
                } | undefined;
            } | undefined;
            webserver?: {
                count?: number | undefined;
                resources?: {
                    resourcePresetId?: string | undefined;
                } | undefined;
            } | undefined;
            scheduler?: {
                count?: number | undefined;
                resources?: {
                    resourcePresetId?: string | undefined;
                } | undefined;
            } | undefined;
            triggerer?: {
                count?: number | undefined;
                resources?: {
                    resourcePresetId?: string | undefined;
                } | undefined;
            } | undefined;
            worker?: {
                minCount?: number | undefined;
                maxCount?: number | undefined;
                resources?: {
                    resourcePresetId?: string | undefined;
                } | undefined;
            } | undefined;
            dependencies?: {
                pipPackages?: string[] | undefined;
                debPackages?: string[] | undefined;
            } | undefined;
            lockbox?: {
                enabled?: boolean | undefined;
            } | undefined;
            airflowVersion?: string | undefined;
            pythonVersion?: string | undefined;
        } | undefined;
        network?: {
            subnetIds?: string[] | undefined;
            securityGroupIds?: string[] | undefined;
        } | undefined;
        codeSync?: {
            s3?: {
                bucket?: string | undefined;
            } | undefined;
        } | undefined;
        deletionProtection?: boolean | undefined;
        serviceAccountId?: string | undefined;
        logging?: {
            enabled?: boolean | undefined;
            folderId?: string | undefined;
            logGroupId?: string | undefined;
            minLevel?: import("../../logging/v1/log_entry").LogLevel_Level | undefined;
        } | undefined;
        adminPassword?: string | undefined;
        maintenanceWindow?: {
            anytime?: {} | undefined;
            weeklyMaintenanceWindow?: {
                day?: import("../../../../yandex/cloud/airflow/v1/maintenance").WeeklyMaintenanceWindow_WeekDay | undefined;
                hour?: number | undefined;
            } | undefined;
        } | undefined;
    } & {
        folderId?: string | undefined;
        name?: string | undefined;
        description?: string | undefined;
        labels?: ({
            [x: string]: string | undefined;
        } & {
            [x: string]: string | undefined;
        } & Record<Exclude<keyof I["labels"], string | number>, never>) | undefined;
        config?: ({
            versionId?: string | undefined;
            airflow?: {
                config?: {
                    [x: string]: string | undefined;
                } | undefined;
            } | undefined;
            webserver?: {
                count?: number | undefined;
                resources?: {
                    resourcePresetId?: string | undefined;
                } | undefined;
            } | undefined;
            scheduler?: {
                count?: number | undefined;
                resources?: {
                    resourcePresetId?: string | undefined;
                } | undefined;
            } | undefined;
            triggerer?: {
                count?: number | undefined;
                resources?: {
                    resourcePresetId?: string | undefined;
                } | undefined;
            } | undefined;
            worker?: {
                minCount?: number | undefined;
                maxCount?: number | undefined;
                resources?: {
                    resourcePresetId?: string | undefined;
                } | undefined;
            } | undefined;
            dependencies?: {
                pipPackages?: string[] | undefined;
                debPackages?: string[] | undefined;
            } | undefined;
            lockbox?: {
                enabled?: boolean | undefined;
            } | undefined;
            airflowVersion?: string | undefined;
            pythonVersion?: string | undefined;
        } & {
            versionId?: string | undefined;
            airflow?: ({
                config?: {
                    [x: string]: string | undefined;
                } | undefined;
            } & {
                config?: ({
                    [x: string]: string | undefined;
                } & {
                    [x: string]: string | undefined;
                } & Record<Exclude<keyof I["config"]["airflow"]["config"], string | number>, never>) | undefined;
            } & Record<Exclude<keyof I["config"]["airflow"], "config">, never>) | undefined;
            webserver?: ({
                count?: number | undefined;
                resources?: {
                    resourcePresetId?: string | undefined;
                } | undefined;
            } & {
                count?: number | undefined;
                resources?: ({
                    resourcePresetId?: string | undefined;
                } & {
                    resourcePresetId?: string | undefined;
                } & Record<Exclude<keyof I["config"]["webserver"]["resources"], "resourcePresetId">, never>) | undefined;
            } & Record<Exclude<keyof I["config"]["webserver"], keyof WebserverConfig>, never>) | undefined;
            scheduler?: ({
                count?: number | undefined;
                resources?: {
                    resourcePresetId?: string | undefined;
                } | undefined;
            } & {
                count?: number | undefined;
                resources?: ({
                    resourcePresetId?: string | undefined;
                } & {
                    resourcePresetId?: string | undefined;
                } & Record<Exclude<keyof I["config"]["scheduler"]["resources"], "resourcePresetId">, never>) | undefined;
            } & Record<Exclude<keyof I["config"]["scheduler"], keyof SchedulerConfig>, never>) | undefined;
            triggerer?: ({
                count?: number | undefined;
                resources?: {
                    resourcePresetId?: string | undefined;
                } | undefined;
            } & {
                count?: number | undefined;
                resources?: ({
                    resourcePresetId?: string | undefined;
                } & {
                    resourcePresetId?: string | undefined;
                } & Record<Exclude<keyof I["config"]["triggerer"]["resources"], "resourcePresetId">, never>) | undefined;
            } & Record<Exclude<keyof I["config"]["triggerer"], keyof TriggererConfig>, never>) | undefined;
            worker?: ({
                minCount?: number | undefined;
                maxCount?: number | undefined;
                resources?: {
                    resourcePresetId?: string | undefined;
                } | undefined;
            } & {
                minCount?: number | undefined;
                maxCount?: number | undefined;
                resources?: ({
                    resourcePresetId?: string | undefined;
                } & {
                    resourcePresetId?: string | undefined;
                } & Record<Exclude<keyof I["config"]["worker"]["resources"], "resourcePresetId">, never>) | undefined;
            } & Record<Exclude<keyof I["config"]["worker"], keyof WorkerConfig>, never>) | undefined;
            dependencies?: ({
                pipPackages?: string[] | undefined;
                debPackages?: string[] | undefined;
            } & {
                pipPackages?: (string[] & string[] & Record<Exclude<keyof I["config"]["dependencies"]["pipPackages"], keyof string[]>, never>) | undefined;
                debPackages?: (string[] & string[] & Record<Exclude<keyof I["config"]["dependencies"]["debPackages"], keyof string[]>, never>) | undefined;
            } & Record<Exclude<keyof I["config"]["dependencies"], keyof Dependencies>, never>) | undefined;
            lockbox?: ({
                enabled?: boolean | undefined;
            } & {
                enabled?: boolean | undefined;
            } & Record<Exclude<keyof I["config"]["lockbox"], "enabled">, never>) | undefined;
            airflowVersion?: string | undefined;
            pythonVersion?: string | undefined;
        } & Record<Exclude<keyof I["config"], keyof ClusterConfig>, never>) | undefined;
        network?: ({
            subnetIds?: string[] | undefined;
            securityGroupIds?: string[] | undefined;
        } & {
            subnetIds?: (string[] & string[] & Record<Exclude<keyof I["network"]["subnetIds"], keyof string[]>, never>) | undefined;
            securityGroupIds?: (string[] & string[] & Record<Exclude<keyof I["network"]["securityGroupIds"], keyof string[]>, never>) | undefined;
        } & Record<Exclude<keyof I["network"], keyof NetworkConfig>, never>) | undefined;
        codeSync?: ({
            s3?: {
                bucket?: string | undefined;
            } | undefined;
        } & {
            s3?: ({
                bucket?: string | undefined;
            } & {
                bucket?: string | undefined;
            } & Record<Exclude<keyof I["codeSync"]["s3"], "bucket">, never>) | undefined;
        } & Record<Exclude<keyof I["codeSync"], "s3">, never>) | undefined;
        deletionProtection?: boolean | undefined;
        serviceAccountId?: string | undefined;
        logging?: ({
            enabled?: boolean | undefined;
            folderId?: string | undefined;
            logGroupId?: string | undefined;
            minLevel?: import("../../logging/v1/log_entry").LogLevel_Level | undefined;
        } & {
            enabled?: boolean | undefined;
            folderId?: string | undefined;
            logGroupId?: string | undefined;
            minLevel?: import("../../logging/v1/log_entry").LogLevel_Level | undefined;
        } & Record<Exclude<keyof I["logging"], keyof LoggingConfig>, never>) | undefined;
        adminPassword?: string | undefined;
        maintenanceWindow?: ({
            anytime?: {} | undefined;
            weeklyMaintenanceWindow?: {
                day?: import("../../../../yandex/cloud/airflow/v1/maintenance").WeeklyMaintenanceWindow_WeekDay | undefined;
                hour?: number | undefined;
            } | undefined;
        } & {
            anytime?: ({} & {} & Record<Exclude<keyof I["maintenanceWindow"]["anytime"], never>, never>) | undefined;
            weeklyMaintenanceWindow?: ({
                day?: import("../../../../yandex/cloud/airflow/v1/maintenance").WeeklyMaintenanceWindow_WeekDay | undefined;
                hour?: number | undefined;
            } & {
                day?: import("../../../../yandex/cloud/airflow/v1/maintenance").WeeklyMaintenanceWindow_WeekDay | undefined;
                hour?: number | undefined;
            } & Record<Exclude<keyof I["maintenanceWindow"]["weeklyMaintenanceWindow"], keyof import("../../../../yandex/cloud/airflow/v1/maintenance").WeeklyMaintenanceWindow>, never>) | undefined;
        } & Record<Exclude<keyof I["maintenanceWindow"], keyof MaintenanceWindow>, never>) | undefined;
    } & Record<Exclude<keyof I, keyof CreateClusterRequest>, never>>(object: I): CreateClusterRequest;
};
export declare const CreateClusterRequest_LabelsEntry: {
    encode(message: CreateClusterRequest_LabelsEntry, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): CreateClusterRequest_LabelsEntry;
    fromJSON(object: any): CreateClusterRequest_LabelsEntry;
    toJSON(message: CreateClusterRequest_LabelsEntry): unknown;
    fromPartial<I extends {
        key?: string | undefined;
        value?: string | undefined;
    } & {
        key?: string | undefined;
        value?: string | undefined;
    } & Record<Exclude<keyof I, keyof CreateClusterRequest_LabelsEntry>, never>>(object: I): CreateClusterRequest_LabelsEntry;
};
export declare const CreateClusterMetadata: {
    encode(message: CreateClusterMetadata, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): CreateClusterMetadata;
    fromJSON(object: any): CreateClusterMetadata;
    toJSON(message: CreateClusterMetadata): unknown;
    fromPartial<I extends {
        clusterId?: string | undefined;
    } & {
        clusterId?: string | undefined;
    } & Record<Exclude<keyof I, "clusterId">, never>>(object: I): CreateClusterMetadata;
};
export declare const UpdateClusterConfigSpec: {
    encode(message: UpdateClusterConfigSpec, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): UpdateClusterConfigSpec;
    fromJSON(object: any): UpdateClusterConfigSpec;
    toJSON(message: UpdateClusterConfigSpec): unknown;
    fromPartial<I extends {
        airflow?: {
            config?: {
                [x: string]: string | undefined;
            } | undefined;
        } | undefined;
        webserver?: {
            count?: number | undefined;
            resources?: {
                resourcePresetId?: string | undefined;
            } | undefined;
        } | undefined;
        scheduler?: {
            count?: number | undefined;
            resources?: {
                resourcePresetId?: string | undefined;
            } | undefined;
        } | undefined;
        triggerer?: {
            count?: number | undefined;
            resources?: {
                resourcePresetId?: string | undefined;
            } | undefined;
        } | undefined;
        worker?: {
            minCount?: number | undefined;
            maxCount?: number | undefined;
            resources?: {
                resourcePresetId?: string | undefined;
            } | undefined;
        } | undefined;
        dependencies?: {
            pipPackages?: string[] | undefined;
            debPackages?: string[] | undefined;
        } | undefined;
        lockbox?: {
            enabled?: boolean | undefined;
        } | undefined;
        airflowVersion?: string | undefined;
        pythonVersion?: string | undefined;
    } & {
        airflow?: ({
            config?: {
                [x: string]: string | undefined;
            } | undefined;
        } & {
            config?: ({
                [x: string]: string | undefined;
            } & {
                [x: string]: string | undefined;
            } & Record<Exclude<keyof I["airflow"]["config"], string | number>, never>) | undefined;
        } & Record<Exclude<keyof I["airflow"], "config">, never>) | undefined;
        webserver?: ({
            count?: number | undefined;
            resources?: {
                resourcePresetId?: string | undefined;
            } | undefined;
        } & {
            count?: number | undefined;
            resources?: ({
                resourcePresetId?: string | undefined;
            } & {
                resourcePresetId?: string | undefined;
            } & Record<Exclude<keyof I["webserver"]["resources"], "resourcePresetId">, never>) | undefined;
        } & Record<Exclude<keyof I["webserver"], keyof WebserverConfig>, never>) | undefined;
        scheduler?: ({
            count?: number | undefined;
            resources?: {
                resourcePresetId?: string | undefined;
            } | undefined;
        } & {
            count?: number | undefined;
            resources?: ({
                resourcePresetId?: string | undefined;
            } & {
                resourcePresetId?: string | undefined;
            } & Record<Exclude<keyof I["scheduler"]["resources"], "resourcePresetId">, never>) | undefined;
        } & Record<Exclude<keyof I["scheduler"], keyof SchedulerConfig>, never>) | undefined;
        triggerer?: ({
            count?: number | undefined;
            resources?: {
                resourcePresetId?: string | undefined;
            } | undefined;
        } & {
            count?: number | undefined;
            resources?: ({
                resourcePresetId?: string | undefined;
            } & {
                resourcePresetId?: string | undefined;
            } & Record<Exclude<keyof I["triggerer"]["resources"], "resourcePresetId">, never>) | undefined;
        } & Record<Exclude<keyof I["triggerer"], keyof TriggererConfig>, never>) | undefined;
        worker?: ({
            minCount?: number | undefined;
            maxCount?: number | undefined;
            resources?: {
                resourcePresetId?: string | undefined;
            } | undefined;
        } & {
            minCount?: number | undefined;
            maxCount?: number | undefined;
            resources?: ({
                resourcePresetId?: string | undefined;
            } & {
                resourcePresetId?: string | undefined;
            } & Record<Exclude<keyof I["worker"]["resources"], "resourcePresetId">, never>) | undefined;
        } & Record<Exclude<keyof I["worker"], keyof WorkerConfig>, never>) | undefined;
        dependencies?: ({
            pipPackages?: string[] | undefined;
            debPackages?: string[] | undefined;
        } & {
            pipPackages?: (string[] & string[] & Record<Exclude<keyof I["dependencies"]["pipPackages"], keyof string[]>, never>) | undefined;
            debPackages?: (string[] & string[] & Record<Exclude<keyof I["dependencies"]["debPackages"], keyof string[]>, never>) | undefined;
        } & Record<Exclude<keyof I["dependencies"], keyof Dependencies>, never>) | undefined;
        lockbox?: ({
            enabled?: boolean | undefined;
        } & {
            enabled?: boolean | undefined;
        } & Record<Exclude<keyof I["lockbox"], "enabled">, never>) | undefined;
        airflowVersion?: string | undefined;
        pythonVersion?: string | undefined;
    } & Record<Exclude<keyof I, keyof UpdateClusterConfigSpec>, never>>(object: I): UpdateClusterConfigSpec;
};
export declare const UpdateNetworkConfigSpec: {
    encode(message: UpdateNetworkConfigSpec, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): UpdateNetworkConfigSpec;
    fromJSON(object: any): UpdateNetworkConfigSpec;
    toJSON(message: UpdateNetworkConfigSpec): unknown;
    fromPartial<I extends {
        securityGroupIds?: string[] | undefined;
    } & {
        securityGroupIds?: (string[] & string[] & Record<Exclude<keyof I["securityGroupIds"], keyof string[]>, never>) | undefined;
    } & Record<Exclude<keyof I, "securityGroupIds">, never>>(object: I): UpdateNetworkConfigSpec;
};
export declare const UpdateClusterRequest: {
    encode(message: UpdateClusterRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): UpdateClusterRequest;
    fromJSON(object: any): UpdateClusterRequest;
    toJSON(message: UpdateClusterRequest): unknown;
    fromPartial<I extends {
        clusterId?: string | undefined;
        updateMask?: {
            paths?: string[] | undefined;
        } | undefined;
        name?: string | undefined;
        description?: string | undefined;
        labels?: {
            [x: string]: string | undefined;
        } | undefined;
        configSpec?: {
            airflow?: {
                config?: {
                    [x: string]: string | undefined;
                } | undefined;
            } | undefined;
            webserver?: {
                count?: number | undefined;
                resources?: {
                    resourcePresetId?: string | undefined;
                } | undefined;
            } | undefined;
            scheduler?: {
                count?: number | undefined;
                resources?: {
                    resourcePresetId?: string | undefined;
                } | undefined;
            } | undefined;
            triggerer?: {
                count?: number | undefined;
                resources?: {
                    resourcePresetId?: string | undefined;
                } | undefined;
            } | undefined;
            worker?: {
                minCount?: number | undefined;
                maxCount?: number | undefined;
                resources?: {
                    resourcePresetId?: string | undefined;
                } | undefined;
            } | undefined;
            dependencies?: {
                pipPackages?: string[] | undefined;
                debPackages?: string[] | undefined;
            } | undefined;
            lockbox?: {
                enabled?: boolean | undefined;
            } | undefined;
            airflowVersion?: string | undefined;
            pythonVersion?: string | undefined;
        } | undefined;
        codeSync?: {
            s3?: {
                bucket?: string | undefined;
            } | undefined;
        } | undefined;
        networkSpec?: {
            securityGroupIds?: string[] | undefined;
        } | undefined;
        deletionProtection?: boolean | undefined;
        serviceAccountId?: string | undefined;
        logging?: {
            enabled?: boolean | undefined;
            folderId?: string | undefined;
            logGroupId?: string | undefined;
            minLevel?: import("../../logging/v1/log_entry").LogLevel_Level | undefined;
        } | undefined;
        maintenanceWindow?: {
            anytime?: {} | undefined;
            weeklyMaintenanceWindow?: {
                day?: import("../../../../yandex/cloud/airflow/v1/maintenance").WeeklyMaintenanceWindow_WeekDay | undefined;
                hour?: number | undefined;
            } | undefined;
        } | undefined;
    } & {
        clusterId?: string | undefined;
        updateMask?: ({
            paths?: string[] | undefined;
        } & {
            paths?: (string[] & string[] & Record<Exclude<keyof I["updateMask"]["paths"], keyof string[]>, never>) | undefined;
        } & Record<Exclude<keyof I["updateMask"], "paths">, never>) | undefined;
        name?: string | undefined;
        description?: string | undefined;
        labels?: ({
            [x: string]: string | undefined;
        } & {
            [x: string]: string | undefined;
        } & Record<Exclude<keyof I["labels"], string | number>, never>) | undefined;
        configSpec?: ({
            airflow?: {
                config?: {
                    [x: string]: string | undefined;
                } | undefined;
            } | undefined;
            webserver?: {
                count?: number | undefined;
                resources?: {
                    resourcePresetId?: string | undefined;
                } | undefined;
            } | undefined;
            scheduler?: {
                count?: number | undefined;
                resources?: {
                    resourcePresetId?: string | undefined;
                } | undefined;
            } | undefined;
            triggerer?: {
                count?: number | undefined;
                resources?: {
                    resourcePresetId?: string | undefined;
                } | undefined;
            } | undefined;
            worker?: {
                minCount?: number | undefined;
                maxCount?: number | undefined;
                resources?: {
                    resourcePresetId?: string | undefined;
                } | undefined;
            } | undefined;
            dependencies?: {
                pipPackages?: string[] | undefined;
                debPackages?: string[] | undefined;
            } | undefined;
            lockbox?: {
                enabled?: boolean | undefined;
            } | undefined;
            airflowVersion?: string | undefined;
            pythonVersion?: string | undefined;
        } & {
            airflow?: ({
                config?: {
                    [x: string]: string | undefined;
                } | undefined;
            } & {
                config?: ({
                    [x: string]: string | undefined;
                } & {
                    [x: string]: string | undefined;
                } & Record<Exclude<keyof I["configSpec"]["airflow"]["config"], string | number>, never>) | undefined;
            } & Record<Exclude<keyof I["configSpec"]["airflow"], "config">, never>) | undefined;
            webserver?: ({
                count?: number | undefined;
                resources?: {
                    resourcePresetId?: string | undefined;
                } | undefined;
            } & {
                count?: number | undefined;
                resources?: ({
                    resourcePresetId?: string | undefined;
                } & {
                    resourcePresetId?: string | undefined;
                } & Record<Exclude<keyof I["configSpec"]["webserver"]["resources"], "resourcePresetId">, never>) | undefined;
            } & Record<Exclude<keyof I["configSpec"]["webserver"], keyof WebserverConfig>, never>) | undefined;
            scheduler?: ({
                count?: number | undefined;
                resources?: {
                    resourcePresetId?: string | undefined;
                } | undefined;
            } & {
                count?: number | undefined;
                resources?: ({
                    resourcePresetId?: string | undefined;
                } & {
                    resourcePresetId?: string | undefined;
                } & Record<Exclude<keyof I["configSpec"]["scheduler"]["resources"], "resourcePresetId">, never>) | undefined;
            } & Record<Exclude<keyof I["configSpec"]["scheduler"], keyof SchedulerConfig>, never>) | undefined;
            triggerer?: ({
                count?: number | undefined;
                resources?: {
                    resourcePresetId?: string | undefined;
                } | undefined;
            } & {
                count?: number | undefined;
                resources?: ({
                    resourcePresetId?: string | undefined;
                } & {
                    resourcePresetId?: string | undefined;
                } & Record<Exclude<keyof I["configSpec"]["triggerer"]["resources"], "resourcePresetId">, never>) | undefined;
            } & Record<Exclude<keyof I["configSpec"]["triggerer"], keyof TriggererConfig>, never>) | undefined;
            worker?: ({
                minCount?: number | undefined;
                maxCount?: number | undefined;
                resources?: {
                    resourcePresetId?: string | undefined;
                } | undefined;
            } & {
                minCount?: number | undefined;
                maxCount?: number | undefined;
                resources?: ({
                    resourcePresetId?: string | undefined;
                } & {
                    resourcePresetId?: string | undefined;
                } & Record<Exclude<keyof I["configSpec"]["worker"]["resources"], "resourcePresetId">, never>) | undefined;
            } & Record<Exclude<keyof I["configSpec"]["worker"], keyof WorkerConfig>, never>) | undefined;
            dependencies?: ({
                pipPackages?: string[] | undefined;
                debPackages?: string[] | undefined;
            } & {
                pipPackages?: (string[] & string[] & Record<Exclude<keyof I["configSpec"]["dependencies"]["pipPackages"], keyof string[]>, never>) | undefined;
                debPackages?: (string[] & string[] & Record<Exclude<keyof I["configSpec"]["dependencies"]["debPackages"], keyof string[]>, never>) | undefined;
            } & Record<Exclude<keyof I["configSpec"]["dependencies"], keyof Dependencies>, never>) | undefined;
            lockbox?: ({
                enabled?: boolean | undefined;
            } & {
                enabled?: boolean | undefined;
            } & Record<Exclude<keyof I["configSpec"]["lockbox"], "enabled">, never>) | undefined;
            airflowVersion?: string | undefined;
            pythonVersion?: string | undefined;
        } & Record<Exclude<keyof I["configSpec"], keyof UpdateClusterConfigSpec>, never>) | undefined;
        codeSync?: ({
            s3?: {
                bucket?: string | undefined;
            } | undefined;
        } & {
            s3?: ({
                bucket?: string | undefined;
            } & {
                bucket?: string | undefined;
            } & Record<Exclude<keyof I["codeSync"]["s3"], "bucket">, never>) | undefined;
        } & Record<Exclude<keyof I["codeSync"], "s3">, never>) | undefined;
        networkSpec?: ({
            securityGroupIds?: string[] | undefined;
        } & {
            securityGroupIds?: (string[] & string[] & Record<Exclude<keyof I["networkSpec"]["securityGroupIds"], keyof string[]>, never>) | undefined;
        } & Record<Exclude<keyof I["networkSpec"], "securityGroupIds">, never>) | undefined;
        deletionProtection?: boolean | undefined;
        serviceAccountId?: string | undefined;
        logging?: ({
            enabled?: boolean | undefined;
            folderId?: string | undefined;
            logGroupId?: string | undefined;
            minLevel?: import("../../logging/v1/log_entry").LogLevel_Level | undefined;
        } & {
            enabled?: boolean | undefined;
            folderId?: string | undefined;
            logGroupId?: string | undefined;
            minLevel?: import("../../logging/v1/log_entry").LogLevel_Level | undefined;
        } & Record<Exclude<keyof I["logging"], keyof LoggingConfig>, never>) | undefined;
        maintenanceWindow?: ({
            anytime?: {} | undefined;
            weeklyMaintenanceWindow?: {
                day?: import("../../../../yandex/cloud/airflow/v1/maintenance").WeeklyMaintenanceWindow_WeekDay | undefined;
                hour?: number | undefined;
            } | undefined;
        } & {
            anytime?: ({} & {} & Record<Exclude<keyof I["maintenanceWindow"]["anytime"], never>, never>) | undefined;
            weeklyMaintenanceWindow?: ({
                day?: import("../../../../yandex/cloud/airflow/v1/maintenance").WeeklyMaintenanceWindow_WeekDay | undefined;
                hour?: number | undefined;
            } & {
                day?: import("../../../../yandex/cloud/airflow/v1/maintenance").WeeklyMaintenanceWindow_WeekDay | undefined;
                hour?: number | undefined;
            } & Record<Exclude<keyof I["maintenanceWindow"]["weeklyMaintenanceWindow"], keyof import("../../../../yandex/cloud/airflow/v1/maintenance").WeeklyMaintenanceWindow>, never>) | undefined;
        } & Record<Exclude<keyof I["maintenanceWindow"], keyof MaintenanceWindow>, never>) | undefined;
    } & Record<Exclude<keyof I, keyof UpdateClusterRequest>, never>>(object: I): UpdateClusterRequest;
};
export declare const UpdateClusterRequest_LabelsEntry: {
    encode(message: UpdateClusterRequest_LabelsEntry, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): UpdateClusterRequest_LabelsEntry;
    fromJSON(object: any): UpdateClusterRequest_LabelsEntry;
    toJSON(message: UpdateClusterRequest_LabelsEntry): unknown;
    fromPartial<I extends {
        key?: string | undefined;
        value?: string | undefined;
    } & {
        key?: string | undefined;
        value?: string | undefined;
    } & Record<Exclude<keyof I, keyof UpdateClusterRequest_LabelsEntry>, never>>(object: I): UpdateClusterRequest_LabelsEntry;
};
export declare const UpdateClusterMetadata: {
    encode(message: UpdateClusterMetadata, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): UpdateClusterMetadata;
    fromJSON(object: any): UpdateClusterMetadata;
    toJSON(message: UpdateClusterMetadata): unknown;
    fromPartial<I extends {
        clusterId?: string | undefined;
    } & {
        clusterId?: string | undefined;
    } & Record<Exclude<keyof I, "clusterId">, never>>(object: I): UpdateClusterMetadata;
};
export declare const DeleteClusterRequest: {
    encode(message: DeleteClusterRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): DeleteClusterRequest;
    fromJSON(object: any): DeleteClusterRequest;
    toJSON(message: DeleteClusterRequest): unknown;
    fromPartial<I extends {
        clusterId?: string | undefined;
    } & {
        clusterId?: string | undefined;
    } & Record<Exclude<keyof I, "clusterId">, never>>(object: I): DeleteClusterRequest;
};
export declare const DeleteClusterMetadata: {
    encode(message: DeleteClusterMetadata, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): DeleteClusterMetadata;
    fromJSON(object: any): DeleteClusterMetadata;
    toJSON(message: DeleteClusterMetadata): unknown;
    fromPartial<I extends {
        clusterId?: string | undefined;
    } & {
        clusterId?: string | undefined;
    } & Record<Exclude<keyof I, "clusterId">, never>>(object: I): DeleteClusterMetadata;
};
export declare const StartClusterRequest: {
    encode(message: StartClusterRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): StartClusterRequest;
    fromJSON(object: any): StartClusterRequest;
    toJSON(message: StartClusterRequest): unknown;
    fromPartial<I extends {
        clusterId?: string | undefined;
    } & {
        clusterId?: string | undefined;
    } & Record<Exclude<keyof I, "clusterId">, never>>(object: I): StartClusterRequest;
};
export declare const StartClusterMetadata: {
    encode(message: StartClusterMetadata, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): StartClusterMetadata;
    fromJSON(object: any): StartClusterMetadata;
    toJSON(message: StartClusterMetadata): unknown;
    fromPartial<I extends {
        clusterId?: string | undefined;
    } & {
        clusterId?: string | undefined;
    } & Record<Exclude<keyof I, "clusterId">, never>>(object: I): StartClusterMetadata;
};
export declare const StopClusterRequest: {
    encode(message: StopClusterRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): StopClusterRequest;
    fromJSON(object: any): StopClusterRequest;
    toJSON(message: StopClusterRequest): unknown;
    fromPartial<I extends {
        clusterId?: string | undefined;
    } & {
        clusterId?: string | undefined;
    } & Record<Exclude<keyof I, "clusterId">, never>>(object: I): StopClusterRequest;
};
export declare const StopClusterMetadata: {
    encode(message: StopClusterMetadata, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): StopClusterMetadata;
    fromJSON(object: any): StopClusterMetadata;
    toJSON(message: StopClusterMetadata): unknown;
    fromPartial<I extends {
        clusterId?: string | undefined;
    } & {
        clusterId?: string | undefined;
    } & Record<Exclude<keyof I, "clusterId">, never>>(object: I): StopClusterMetadata;
};
export declare const ListClusterOperationsRequest: {
    encode(message: ListClusterOperationsRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): ListClusterOperationsRequest;
    fromJSON(object: any): ListClusterOperationsRequest;
    toJSON(message: ListClusterOperationsRequest): unknown;
    fromPartial<I extends {
        clusterId?: string | undefined;
        pageSize?: number | undefined;
        pageToken?: string | undefined;
    } & {
        clusterId?: string | undefined;
        pageSize?: number | undefined;
        pageToken?: string | undefined;
    } & Record<Exclude<keyof I, keyof ListClusterOperationsRequest>, never>>(object: I): ListClusterOperationsRequest;
};
export declare const ListClusterOperationsResponse: {
    encode(message: ListClusterOperationsResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): ListClusterOperationsResponse;
    fromJSON(object: any): ListClusterOperationsResponse;
    toJSON(message: ListClusterOperationsResponse): unknown;
    fromPartial<I extends {
        operations?: {
            id?: string | undefined;
            description?: string | undefined;
            createdAt?: Date | undefined;
            createdBy?: string | undefined;
            modifiedAt?: Date | undefined;
            done?: boolean | undefined;
            metadata?: {
                typeUrl?: string | undefined;
                value?: Buffer | undefined;
            } | undefined;
            error?: {
                code?: number | undefined;
                message?: string | undefined;
                details?: {
                    typeUrl?: string | undefined;
                    value?: Buffer | undefined;
                }[] | undefined;
            } | undefined;
            response?: {
                typeUrl?: string | undefined;
                value?: Buffer | undefined;
            } | undefined;
        }[] | undefined;
        nextPageToken?: string | undefined;
    } & {
        operations?: ({
            id?: string | undefined;
            description?: string | undefined;
            createdAt?: Date | undefined;
            createdBy?: string | undefined;
            modifiedAt?: Date | undefined;
            done?: boolean | undefined;
            metadata?: {
                typeUrl?: string | undefined;
                value?: Buffer | undefined;
            } | undefined;
            error?: {
                code?: number | undefined;
                message?: string | undefined;
                details?: {
                    typeUrl?: string | undefined;
                    value?: Buffer | undefined;
                }[] | undefined;
            } | undefined;
            response?: {
                typeUrl?: string | undefined;
                value?: Buffer | undefined;
            } | undefined;
        }[] & ({
            id?: string | undefined;
            description?: string | undefined;
            createdAt?: Date | undefined;
            createdBy?: string | undefined;
            modifiedAt?: Date | undefined;
            done?: boolean | undefined;
            metadata?: {
                typeUrl?: string | undefined;
                value?: Buffer | undefined;
            } | undefined;
            error?: {
                code?: number | undefined;
                message?: string | undefined;
                details?: {
                    typeUrl?: string | undefined;
                    value?: Buffer | undefined;
                }[] | undefined;
            } | undefined;
            response?: {
                typeUrl?: string | undefined;
                value?: Buffer | undefined;
            } | undefined;
        } & {
            id?: string | undefined;
            description?: string | undefined;
            createdAt?: Date | undefined;
            createdBy?: string | undefined;
            modifiedAt?: Date | undefined;
            done?: boolean | undefined;
            metadata?: ({
                typeUrl?: string | undefined;
                value?: Buffer | undefined;
            } & {
                typeUrl?: string | undefined;
                value?: Buffer | undefined;
            } & Record<Exclude<keyof I["operations"][number]["metadata"], keyof import("../../../../google/protobuf/any").Any>, never>) | undefined;
            error?: ({
                code?: number | undefined;
                message?: string | undefined;
                details?: {
                    typeUrl?: string | undefined;
                    value?: Buffer | undefined;
                }[] | undefined;
            } & {
                code?: number | undefined;
                message?: string | undefined;
                details?: ({
                    typeUrl?: string | undefined;
                    value?: Buffer | undefined;
                }[] & ({
                    typeUrl?: string | undefined;
                    value?: Buffer | undefined;
                } & {
                    typeUrl?: string | undefined;
                    value?: Buffer | undefined;
                } & Record<Exclude<keyof I["operations"][number]["error"]["details"][number], keyof import("../../../../google/protobuf/any").Any>, never>)[] & Record<Exclude<keyof I["operations"][number]["error"]["details"], keyof {
                    typeUrl?: string | undefined;
                    value?: Buffer | undefined;
                }[]>, never>) | undefined;
            } & Record<Exclude<keyof I["operations"][number]["error"], keyof import("../../../../google/rpc/status").Status>, never>) | undefined;
            response?: ({
                typeUrl?: string | undefined;
                value?: Buffer | undefined;
            } & {
                typeUrl?: string | undefined;
                value?: Buffer | undefined;
            } & Record<Exclude<keyof I["operations"][number]["response"], keyof import("../../../../google/protobuf/any").Any>, never>) | undefined;
        } & Record<Exclude<keyof I["operations"][number], keyof Operation>, never>)[] & Record<Exclude<keyof I["operations"], keyof {
            id?: string | undefined;
            description?: string | undefined;
            createdAt?: Date | undefined;
            createdBy?: string | undefined;
            modifiedAt?: Date | undefined;
            done?: boolean | undefined;
            metadata?: {
                typeUrl?: string | undefined;
                value?: Buffer | undefined;
            } | undefined;
            error?: {
                code?: number | undefined;
                message?: string | undefined;
                details?: {
                    typeUrl?: string | undefined;
                    value?: Buffer | undefined;
                }[] | undefined;
            } | undefined;
            response?: {
                typeUrl?: string | undefined;
                value?: Buffer | undefined;
            } | undefined;
        }[]>, never>) | undefined;
        nextPageToken?: string | undefined;
    } & Record<Exclude<keyof I, keyof ListClusterOperationsResponse>, never>>(object: I): ListClusterOperationsResponse;
};
/** A set of methods for managing Apache Airflow Cluster resources. */
export declare const ClusterServiceService: {
    /** Returns the specified Apache Airflow Cluster resource. */
    readonly get: {
        readonly path: "/yandex.cloud.airflow.v1.ClusterService/Get";
        readonly requestStream: false;
        readonly responseStream: false;
        readonly requestSerialize: (value: GetClusterRequest) => Buffer;
        readonly requestDeserialize: (value: Buffer) => GetClusterRequest;
        readonly responseSerialize: (value: Cluster) => Buffer;
        readonly responseDeserialize: (value: Buffer) => Cluster;
    };
    /** Retrieves a list of Apache Airflow Cluster resources. */
    readonly list: {
        readonly path: "/yandex.cloud.airflow.v1.ClusterService/List";
        readonly requestStream: false;
        readonly responseStream: false;
        readonly requestSerialize: (value: ListClustersRequest) => Buffer;
        readonly requestDeserialize: (value: Buffer) => ListClustersRequest;
        readonly responseSerialize: (value: ListClustersResponse) => Buffer;
        readonly responseDeserialize: (value: Buffer) => ListClustersResponse;
    };
    /** Creates an Apache Airflow cluster. */
    readonly create: {
        readonly path: "/yandex.cloud.airflow.v1.ClusterService/Create";
        readonly requestStream: false;
        readonly responseStream: false;
        readonly requestSerialize: (value: CreateClusterRequest) => Buffer;
        readonly requestDeserialize: (value: Buffer) => CreateClusterRequest;
        readonly responseSerialize: (value: Operation) => Buffer;
        readonly responseDeserialize: (value: Buffer) => Operation;
    };
    /** Updates the specified Apache Airflow cluster. */
    readonly update: {
        readonly path: "/yandex.cloud.airflow.v1.ClusterService/Update";
        readonly requestStream: false;
        readonly responseStream: false;
        readonly requestSerialize: (value: UpdateClusterRequest) => Buffer;
        readonly requestDeserialize: (value: Buffer) => UpdateClusterRequest;
        readonly responseSerialize: (value: Operation) => Buffer;
        readonly responseDeserialize: (value: Buffer) => Operation;
    };
    /** Deletes the specified Apache Airflow cluster. */
    readonly delete: {
        readonly path: "/yandex.cloud.airflow.v1.ClusterService/Delete";
        readonly requestStream: false;
        readonly responseStream: false;
        readonly requestSerialize: (value: DeleteClusterRequest) => Buffer;
        readonly requestDeserialize: (value: Buffer) => DeleteClusterRequest;
        readonly responseSerialize: (value: Operation) => Buffer;
        readonly responseDeserialize: (value: Buffer) => Operation;
    };
    /** Starts the specified Apache Airflow cluster. */
    readonly start: {
        readonly path: "/yandex.cloud.airflow.v1.ClusterService/Start";
        readonly requestStream: false;
        readonly responseStream: false;
        readonly requestSerialize: (value: StartClusterRequest) => Buffer;
        readonly requestDeserialize: (value: Buffer) => StartClusterRequest;
        readonly responseSerialize: (value: Operation) => Buffer;
        readonly responseDeserialize: (value: Buffer) => Operation;
    };
    /** Stops the specified Apache Airflow cluster. */
    readonly stop: {
        readonly path: "/yandex.cloud.airflow.v1.ClusterService/Stop";
        readonly requestStream: false;
        readonly responseStream: false;
        readonly requestSerialize: (value: StopClusterRequest) => Buffer;
        readonly requestDeserialize: (value: Buffer) => StopClusterRequest;
        readonly responseSerialize: (value: Operation) => Buffer;
        readonly responseDeserialize: (value: Buffer) => Operation;
    };
    /** Retrieves the list of Operation resources for the specified cluster. */
    readonly listOperations: {
        readonly path: "/yandex.cloud.airflow.v1.ClusterService/ListOperations";
        readonly requestStream: false;
        readonly responseStream: false;
        readonly requestSerialize: (value: ListClusterOperationsRequest) => Buffer;
        readonly requestDeserialize: (value: Buffer) => ListClusterOperationsRequest;
        readonly responseSerialize: (value: ListClusterOperationsResponse) => Buffer;
        readonly responseDeserialize: (value: Buffer) => ListClusterOperationsResponse;
    };
};
export interface ClusterServiceServer extends UntypedServiceImplementation {
    /** Returns the specified Apache Airflow Cluster resource. */
    get: handleUnaryCall<GetClusterRequest, Cluster>;
    /** Retrieves a list of Apache Airflow Cluster resources. */
    list: handleUnaryCall<ListClustersRequest, ListClustersResponse>;
    /** Creates an Apache Airflow cluster. */
    create: handleUnaryCall<CreateClusterRequest, Operation>;
    /** Updates the specified Apache Airflow cluster. */
    update: handleUnaryCall<UpdateClusterRequest, Operation>;
    /** Deletes the specified Apache Airflow cluster. */
    delete: handleUnaryCall<DeleteClusterRequest, Operation>;
    /** Starts the specified Apache Airflow cluster. */
    start: handleUnaryCall<StartClusterRequest, Operation>;
    /** Stops the specified Apache Airflow cluster. */
    stop: handleUnaryCall<StopClusterRequest, Operation>;
    /** Retrieves the list of Operation resources for the specified cluster. */
    listOperations: handleUnaryCall<ListClusterOperationsRequest, ListClusterOperationsResponse>;
}
export interface ClusterServiceClient extends Client {
    /** Returns the specified Apache Airflow Cluster resource. */
    get(request: GetClusterRequest, callback: (error: ServiceError | null, response: Cluster) => void): ClientUnaryCall;
    get(request: GetClusterRequest, metadata: Metadata, callback: (error: ServiceError | null, response: Cluster) => void): ClientUnaryCall;
    get(request: GetClusterRequest, metadata: Metadata, options: Partial<CallOptions>, callback: (error: ServiceError | null, response: Cluster) => void): ClientUnaryCall;
    /** Retrieves a list of Apache Airflow Cluster resources. */
    list(request: ListClustersRequest, callback: (error: ServiceError | null, response: ListClustersResponse) => void): ClientUnaryCall;
    list(request: ListClustersRequest, metadata: Metadata, callback: (error: ServiceError | null, response: ListClustersResponse) => void): ClientUnaryCall;
    list(request: ListClustersRequest, metadata: Metadata, options: Partial<CallOptions>, callback: (error: ServiceError | null, response: ListClustersResponse) => void): ClientUnaryCall;
    /** Creates an Apache Airflow cluster. */
    create(request: CreateClusterRequest, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall;
    create(request: CreateClusterRequest, metadata: Metadata, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall;
    create(request: CreateClusterRequest, metadata: Metadata, options: Partial<CallOptions>, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall;
    /** Updates the specified Apache Airflow cluster. */
    update(request: UpdateClusterRequest, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall;
    update(request: UpdateClusterRequest, metadata: Metadata, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall;
    update(request: UpdateClusterRequest, metadata: Metadata, options: Partial<CallOptions>, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall;
    /** Deletes the specified Apache Airflow cluster. */
    delete(request: DeleteClusterRequest, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall;
    delete(request: DeleteClusterRequest, metadata: Metadata, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall;
    delete(request: DeleteClusterRequest, metadata: Metadata, options: Partial<CallOptions>, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall;
    /** Starts the specified Apache Airflow cluster. */
    start(request: StartClusterRequest, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall;
    start(request: StartClusterRequest, metadata: Metadata, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall;
    start(request: StartClusterRequest, metadata: Metadata, options: Partial<CallOptions>, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall;
    /** Stops the specified Apache Airflow cluster. */
    stop(request: StopClusterRequest, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall;
    stop(request: StopClusterRequest, metadata: Metadata, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall;
    stop(request: StopClusterRequest, metadata: Metadata, options: Partial<CallOptions>, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall;
    /** Retrieves the list of Operation resources for the specified cluster. */
    listOperations(request: ListClusterOperationsRequest, callback: (error: ServiceError | null, response: ListClusterOperationsResponse) => void): ClientUnaryCall;
    listOperations(request: ListClusterOperationsRequest, metadata: Metadata, callback: (error: ServiceError | null, response: ListClusterOperationsResponse) => void): ClientUnaryCall;
    listOperations(request: ListClusterOperationsRequest, metadata: Metadata, options: Partial<CallOptions>, callback: (error: ServiceError | null, response: ListClusterOperationsResponse) => void): ClientUnaryCall;
}
export declare const ClusterServiceClient: {
    new (address: string, credentials: ChannelCredentials, options?: Partial<ChannelOptions>): ClusterServiceClient;
    service: typeof ClusterServiceService;
};
type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
export 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 keyof T]?: DeepPartial<T[K]>;
} : Partial<T>;
type KeysOfUnion<T> = T extends T ? keyof T : never;
export 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>>, never>;
export {};
