/// <reference types="node" />
import { ChannelCredentials, ChannelOptions, UntypedServiceImplementation, handleUnaryCall, Client, ClientUnaryCall, Metadata, CallOptions, ServiceError } from '@grpc/grpc-js';
import _m0 from 'protobufjs/minimal';
import { CreateComputeInstance } from '../../../../../yandex/cloud/loadtesting/api/v1/agent/create_compute_instance';
import { LogSettings } from '../../../../../yandex/cloud/loadtesting/api/v1/agent/log_settings';
import { FieldMask } from '../../../../../google/protobuf/field_mask';
import { Agent } from '../../../../../yandex/cloud/loadtesting/api/v1/agent/agent';
import { Operation } from '../../../../../yandex/cloud/operation/operation';
export declare const protobufPackage = "yandex.cloud.loadtesting.api.v1";
export interface CreateAgentRequest {
    /** ID of the folder to create an agent in. */
    folderId: string;
    /**
     * Name of the agent.
     *
     * A created compute instance will have the same name.
     */
    name: string;
    /**
     * Description of the agent.
     *
     * A created compute instance will have the same description.
     */
    description: string;
    /** Parameters for compute instance to be created. */
    computeInstanceParams?: CreateComputeInstance;
    /**
     * Version of the agent.
     *
     * If not provided, the most recent agent version will be used.
     */
    agentVersion: string;
    /** Agent labels as `key:value` pairs. */
    labels: {
        [key: string]: string;
    };
    /** Agent log settings */
    logSettings?: LogSettings;
}
export interface CreateAgentRequest_LabelsEntry {
    key: string;
    value: string;
}
export interface CreateAgentMetadata {
    /** ID of the agent that is being created. */
    agentId: string;
}
export interface GetAgentRequest {
    /** ID of the agent to return. */
    agentId: string;
}
export interface DeleteAgentRequest {
    /** ID of the agent to delete. */
    agentId: string;
}
export interface DeleteAgentMetadata {
    /** ID of the agent that is being deleted. */
    agentId: string;
}
export interface ListAgentsRequest {
    /** ID of the folder to list agents 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 [ListAgentsResponse.next_page_token]
     * that can be used to get the next page of results in subsequent list requests.
     * Default value: 100.
     */
    pageSize: number;
    /**
     * Page token. To get the next page of results, set `page_token` to the
     * [ListAgentsResponse.next_page_token] returned by a previous list request.
     */
    pageToken: string;
    /**
     * A filter expression that filters agents listed in the response.
     *
     * The filter expression may contain multiple field expressions joined by `AND`.
     * The field expression must specify:
     * 1. The field name.
     * 2. An operator:
     *    - `=`, `!=`, `CONTAINS`, for single values.
     *    - `IN` or `NOT IN` for lists of values.
     * 3. The value. String values must be encosed in `"`, boolean values are {`true`, `false`}, timestamp values in ISO-8601.
     *
     * Currently supported fields:
     * - `id` [yandex.cloud.loadtesting.api.v1.agent.Agent.id]
     *   - operators: `=`, `!=`, `IN`, `NOT IN`
     * - `name` [yandex.cloud.loadtesting.api.v1.agent.Agent.name]
     *   - operators: `=`, `!=`, `IN`, `NOT IN`, `CONTAINS`
     *
     * Examples:
     * - `id IN ("1", "2", "3")`
     * - `name CONTAINS "compute-agent-large" AND id NOT IN ("4", "5")`
     */
    filter: string;
}
export interface ListAgentsResponse {
    /** List of agents in the specified folder. */
    agents: Agent[];
    /**
     * Token for getting the next page of the list. If the number of results is greater than
     * the specified [ListAgentsRequest.page_size], use `next_page_token` as the value
     * for the [ListAgentsRequest.page_token] parameter in the next list request.
     *
     * Each subsequent page will have its own `next_page_token` to continue paging through the results.
     */
    nextPageToken: string;
}
export interface UpdateAgentRequest {
    /** ID of the agent to update. */
    agentId: string;
    /** Field mask that specifies which attributes of the agent are going to be updated. */
    updateMask?: FieldMask;
    /** New name of the agent. */
    name: string;
    /** New description of the agent. */
    description: string;
    /** New parameters of compute instance managed by the agent. */
    computeInstanceParams?: CreateComputeInstance;
    /** New labels of the agent. */
    labels: {
        [key: string]: string;
    };
}
export interface UpdateAgentRequest_LabelsEntry {
    key: string;
    value: string;
}
export interface UpdateAgentMetadata {
    /** ID of the agent that is being updated. */
    agentId: string;
}
export declare const CreateAgentRequest: {
    encode(message: CreateAgentRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): CreateAgentRequest;
    fromJSON(object: any): CreateAgentRequest;
    toJSON(message: CreateAgentRequest): unknown;
    fromPartial<I extends {
        folderId?: string | undefined;
        name?: string | undefined;
        description?: string | undefined;
        computeInstanceParams?: {
            labels?: {
                [x: string]: string | undefined;
            } | undefined;
            zoneId?: string | undefined;
            resourcesSpec?: {
                memory?: number | undefined;
                cores?: number | undefined;
                coreFraction?: number | undefined;
                gpus?: number | undefined;
            } | undefined;
            metadata?: {
                [x: string]: string | undefined;
            } | undefined;
            bootDiskSpec?: {
                mode?: import("../../../compute/v1/instance_service").AttachedDiskSpec_Mode | undefined;
                deviceName?: string | undefined;
                autoDelete?: boolean | undefined;
                diskSpec?: {
                    name?: string | undefined;
                    description?: string | undefined;
                    typeId?: string | undefined;
                    size?: number | undefined;
                    imageId?: string | undefined;
                    snapshotId?: string | undefined;
                    diskPlacementPolicy?: {
                        placementGroupId?: string | undefined;
                        placementGroupPartition?: number | undefined;
                    } | undefined;
                    blockSize?: number | undefined;
                    kmsKeyId?: string | undefined;
                } | undefined;
                diskId?: string | undefined;
            } | undefined;
            networkInterfaceSpecs?: {
                subnetId?: string | undefined;
                primaryV4AddressSpec?: {
                    address?: string | undefined;
                    oneToOneNatSpec?: {
                        ipVersion?: import("../../../compute/v1/instance").IpVersion | undefined;
                        address?: string | undefined;
                        dnsRecordSpecs?: {
                            fqdn?: string | undefined;
                            dnsZoneId?: string | undefined;
                            ttl?: number | undefined;
                            ptr?: boolean | undefined;
                        }[] | undefined;
                    } | undefined;
                    dnsRecordSpecs?: {
                        fqdn?: string | undefined;
                        dnsZoneId?: string | undefined;
                        ttl?: number | undefined;
                        ptr?: boolean | undefined;
                    }[] | undefined;
                } | undefined;
                primaryV6AddressSpec?: {
                    address?: string | undefined;
                    oneToOneNatSpec?: {
                        ipVersion?: import("../../../compute/v1/instance").IpVersion | undefined;
                        address?: string | undefined;
                        dnsRecordSpecs?: {
                            fqdn?: string | undefined;
                            dnsZoneId?: string | undefined;
                            ttl?: number | undefined;
                            ptr?: boolean | undefined;
                        }[] | undefined;
                    } | undefined;
                    dnsRecordSpecs?: {
                        fqdn?: string | undefined;
                        dnsZoneId?: string | undefined;
                        ttl?: number | undefined;
                        ptr?: boolean | undefined;
                    }[] | undefined;
                } | undefined;
                securityGroupIds?: string[] | undefined;
                index?: string | undefined;
            }[] | undefined;
            serviceAccountId?: string | undefined;
            platformId?: string | undefined;
        } | undefined;
        agentVersion?: string | undefined;
        labels?: {
            [x: string]: string | undefined;
        } | undefined;
        logSettings?: {
            cloudLogGroupId?: string | undefined;
        } | undefined;
    } & {
        folderId?: string | undefined;
        name?: string | undefined;
        description?: string | undefined;
        computeInstanceParams?: ({
            labels?: {
                [x: string]: string | undefined;
            } | undefined;
            zoneId?: string | undefined;
            resourcesSpec?: {
                memory?: number | undefined;
                cores?: number | undefined;
                coreFraction?: number | undefined;
                gpus?: number | undefined;
            } | undefined;
            metadata?: {
                [x: string]: string | undefined;
            } | undefined;
            bootDiskSpec?: {
                mode?: import("../../../compute/v1/instance_service").AttachedDiskSpec_Mode | undefined;
                deviceName?: string | undefined;
                autoDelete?: boolean | undefined;
                diskSpec?: {
                    name?: string | undefined;
                    description?: string | undefined;
                    typeId?: string | undefined;
                    size?: number | undefined;
                    imageId?: string | undefined;
                    snapshotId?: string | undefined;
                    diskPlacementPolicy?: {
                        placementGroupId?: string | undefined;
                        placementGroupPartition?: number | undefined;
                    } | undefined;
                    blockSize?: number | undefined;
                    kmsKeyId?: string | undefined;
                } | undefined;
                diskId?: string | undefined;
            } | undefined;
            networkInterfaceSpecs?: {
                subnetId?: string | undefined;
                primaryV4AddressSpec?: {
                    address?: string | undefined;
                    oneToOneNatSpec?: {
                        ipVersion?: import("../../../compute/v1/instance").IpVersion | undefined;
                        address?: string | undefined;
                        dnsRecordSpecs?: {
                            fqdn?: string | undefined;
                            dnsZoneId?: string | undefined;
                            ttl?: number | undefined;
                            ptr?: boolean | undefined;
                        }[] | undefined;
                    } | undefined;
                    dnsRecordSpecs?: {
                        fqdn?: string | undefined;
                        dnsZoneId?: string | undefined;
                        ttl?: number | undefined;
                        ptr?: boolean | undefined;
                    }[] | undefined;
                } | undefined;
                primaryV6AddressSpec?: {
                    address?: string | undefined;
                    oneToOneNatSpec?: {
                        ipVersion?: import("../../../compute/v1/instance").IpVersion | undefined;
                        address?: string | undefined;
                        dnsRecordSpecs?: {
                            fqdn?: string | undefined;
                            dnsZoneId?: string | undefined;
                            ttl?: number | undefined;
                            ptr?: boolean | undefined;
                        }[] | undefined;
                    } | undefined;
                    dnsRecordSpecs?: {
                        fqdn?: string | undefined;
                        dnsZoneId?: string | undefined;
                        ttl?: number | undefined;
                        ptr?: boolean | undefined;
                    }[] | undefined;
                } | undefined;
                securityGroupIds?: string[] | undefined;
                index?: string | undefined;
            }[] | undefined;
            serviceAccountId?: string | undefined;
            platformId?: string | undefined;
        } & {
            labels?: ({
                [x: string]: string | undefined;
            } & {
                [x: string]: string | undefined;
            } & Record<Exclude<keyof I["computeInstanceParams"]["labels"], string | number>, never>) | undefined;
            zoneId?: string | undefined;
            resourcesSpec?: ({
                memory?: number | undefined;
                cores?: number | undefined;
                coreFraction?: number | undefined;
                gpus?: number | undefined;
            } & {
                memory?: number | undefined;
                cores?: number | undefined;
                coreFraction?: number | undefined;
                gpus?: number | undefined;
            } & Record<Exclude<keyof I["computeInstanceParams"]["resourcesSpec"], keyof import("../../../compute/v1/instance_service").ResourcesSpec>, never>) | undefined;
            metadata?: ({
                [x: string]: string | undefined;
            } & {
                [x: string]: string | undefined;
            } & Record<Exclude<keyof I["computeInstanceParams"]["metadata"], string | number>, never>) | undefined;
            bootDiskSpec?: ({
                mode?: import("../../../compute/v1/instance_service").AttachedDiskSpec_Mode | undefined;
                deviceName?: string | undefined;
                autoDelete?: boolean | undefined;
                diskSpec?: {
                    name?: string | undefined;
                    description?: string | undefined;
                    typeId?: string | undefined;
                    size?: number | undefined;
                    imageId?: string | undefined;
                    snapshotId?: string | undefined;
                    diskPlacementPolicy?: {
                        placementGroupId?: string | undefined;
                        placementGroupPartition?: number | undefined;
                    } | undefined;
                    blockSize?: number | undefined;
                    kmsKeyId?: string | undefined;
                } | undefined;
                diskId?: string | undefined;
            } & {
                mode?: import("../../../compute/v1/instance_service").AttachedDiskSpec_Mode | undefined;
                deviceName?: string | undefined;
                autoDelete?: boolean | undefined;
                diskSpec?: ({
                    name?: string | undefined;
                    description?: string | undefined;
                    typeId?: string | undefined;
                    size?: number | undefined;
                    imageId?: string | undefined;
                    snapshotId?: string | undefined;
                    diskPlacementPolicy?: {
                        placementGroupId?: string | undefined;
                        placementGroupPartition?: number | undefined;
                    } | undefined;
                    blockSize?: number | undefined;
                    kmsKeyId?: string | undefined;
                } & {
                    name?: string | undefined;
                    description?: string | undefined;
                    typeId?: string | undefined;
                    size?: number | undefined;
                    imageId?: string | undefined;
                    snapshotId?: string | undefined;
                    diskPlacementPolicy?: ({
                        placementGroupId?: string | undefined;
                        placementGroupPartition?: number | undefined;
                    } & {
                        placementGroupId?: string | undefined;
                        placementGroupPartition?: number | undefined;
                    } & Record<Exclude<keyof I["computeInstanceParams"]["bootDiskSpec"]["diskSpec"]["diskPlacementPolicy"], keyof import("../../../compute/v1/disk").DiskPlacementPolicy>, never>) | undefined;
                    blockSize?: number | undefined;
                    kmsKeyId?: string | undefined;
                } & Record<Exclude<keyof I["computeInstanceParams"]["bootDiskSpec"]["diskSpec"], keyof import("../../../compute/v1/instance_service").AttachedDiskSpec_DiskSpec>, never>) | undefined;
                diskId?: string | undefined;
            } & Record<Exclude<keyof I["computeInstanceParams"]["bootDiskSpec"], keyof import("../../../compute/v1/instance_service").AttachedDiskSpec>, never>) | undefined;
            networkInterfaceSpecs?: ({
                subnetId?: string | undefined;
                primaryV4AddressSpec?: {
                    address?: string | undefined;
                    oneToOneNatSpec?: {
                        ipVersion?: import("../../../compute/v1/instance").IpVersion | undefined;
                        address?: string | undefined;
                        dnsRecordSpecs?: {
                            fqdn?: string | undefined;
                            dnsZoneId?: string | undefined;
                            ttl?: number | undefined;
                            ptr?: boolean | undefined;
                        }[] | undefined;
                    } | undefined;
                    dnsRecordSpecs?: {
                        fqdn?: string | undefined;
                        dnsZoneId?: string | undefined;
                        ttl?: number | undefined;
                        ptr?: boolean | undefined;
                    }[] | undefined;
                } | undefined;
                primaryV6AddressSpec?: {
                    address?: string | undefined;
                    oneToOneNatSpec?: {
                        ipVersion?: import("../../../compute/v1/instance").IpVersion | undefined;
                        address?: string | undefined;
                        dnsRecordSpecs?: {
                            fqdn?: string | undefined;
                            dnsZoneId?: string | undefined;
                            ttl?: number | undefined;
                            ptr?: boolean | undefined;
                        }[] | undefined;
                    } | undefined;
                    dnsRecordSpecs?: {
                        fqdn?: string | undefined;
                        dnsZoneId?: string | undefined;
                        ttl?: number | undefined;
                        ptr?: boolean | undefined;
                    }[] | undefined;
                } | undefined;
                securityGroupIds?: string[] | undefined;
                index?: string | undefined;
            }[] & ({
                subnetId?: string | undefined;
                primaryV4AddressSpec?: {
                    address?: string | undefined;
                    oneToOneNatSpec?: {
                        ipVersion?: import("../../../compute/v1/instance").IpVersion | undefined;
                        address?: string | undefined;
                        dnsRecordSpecs?: {
                            fqdn?: string | undefined;
                            dnsZoneId?: string | undefined;
                            ttl?: number | undefined;
                            ptr?: boolean | undefined;
                        }[] | undefined;
                    } | undefined;
                    dnsRecordSpecs?: {
                        fqdn?: string | undefined;
                        dnsZoneId?: string | undefined;
                        ttl?: number | undefined;
                        ptr?: boolean | undefined;
                    }[] | undefined;
                } | undefined;
                primaryV6AddressSpec?: {
                    address?: string | undefined;
                    oneToOneNatSpec?: {
                        ipVersion?: import("../../../compute/v1/instance").IpVersion | undefined;
                        address?: string | undefined;
                        dnsRecordSpecs?: {
                            fqdn?: string | undefined;
                            dnsZoneId?: string | undefined;
                            ttl?: number | undefined;
                            ptr?: boolean | undefined;
                        }[] | undefined;
                    } | undefined;
                    dnsRecordSpecs?: {
                        fqdn?: string | undefined;
                        dnsZoneId?: string | undefined;
                        ttl?: number | undefined;
                        ptr?: boolean | undefined;
                    }[] | undefined;
                } | undefined;
                securityGroupIds?: string[] | undefined;
                index?: string | undefined;
            } & {
                subnetId?: string | undefined;
                primaryV4AddressSpec?: ({
                    address?: string | undefined;
                    oneToOneNatSpec?: {
                        ipVersion?: import("../../../compute/v1/instance").IpVersion | undefined;
                        address?: string | undefined;
                        dnsRecordSpecs?: {
                            fqdn?: string | undefined;
                            dnsZoneId?: string | undefined;
                            ttl?: number | undefined;
                            ptr?: boolean | undefined;
                        }[] | undefined;
                    } | undefined;
                    dnsRecordSpecs?: {
                        fqdn?: string | undefined;
                        dnsZoneId?: string | undefined;
                        ttl?: number | undefined;
                        ptr?: boolean | undefined;
                    }[] | undefined;
                } & {
                    address?: string | undefined;
                    oneToOneNatSpec?: ({
                        ipVersion?: import("../../../compute/v1/instance").IpVersion | undefined;
                        address?: string | undefined;
                        dnsRecordSpecs?: {
                            fqdn?: string | undefined;
                            dnsZoneId?: string | undefined;
                            ttl?: number | undefined;
                            ptr?: boolean | undefined;
                        }[] | undefined;
                    } & {
                        ipVersion?: import("../../../compute/v1/instance").IpVersion | undefined;
                        address?: string | undefined;
                        dnsRecordSpecs?: ({
                            fqdn?: string | undefined;
                            dnsZoneId?: string | undefined;
                            ttl?: number | undefined;
                            ptr?: boolean | undefined;
                        }[] & ({
                            fqdn?: string | undefined;
                            dnsZoneId?: string | undefined;
                            ttl?: number | undefined;
                            ptr?: boolean | undefined;
                        } & {
                            fqdn?: string | undefined;
                            dnsZoneId?: string | undefined;
                            ttl?: number | undefined;
                            ptr?: boolean | undefined;
                        } & Record<Exclude<keyof I["computeInstanceParams"]["networkInterfaceSpecs"][number]["primaryV4AddressSpec"]["oneToOneNatSpec"]["dnsRecordSpecs"][number], keyof import("../../../compute/v1/instance_service").DnsRecordSpec>, never>)[] & Record<Exclude<keyof I["computeInstanceParams"]["networkInterfaceSpecs"][number]["primaryV4AddressSpec"]["oneToOneNatSpec"]["dnsRecordSpecs"], keyof {
                            fqdn?: string | undefined;
                            dnsZoneId?: string | undefined;
                            ttl?: number | undefined;
                            ptr?: boolean | undefined;
                        }[]>, never>) | undefined;
                    } & Record<Exclude<keyof I["computeInstanceParams"]["networkInterfaceSpecs"][number]["primaryV4AddressSpec"]["oneToOneNatSpec"], keyof import("../../../compute/v1/instance_service").OneToOneNatSpec>, never>) | undefined;
                    dnsRecordSpecs?: ({
                        fqdn?: string | undefined;
                        dnsZoneId?: string | undefined;
                        ttl?: number | undefined;
                        ptr?: boolean | undefined;
                    }[] & ({
                        fqdn?: string | undefined;
                        dnsZoneId?: string | undefined;
                        ttl?: number | undefined;
                        ptr?: boolean | undefined;
                    } & {
                        fqdn?: string | undefined;
                        dnsZoneId?: string | undefined;
                        ttl?: number | undefined;
                        ptr?: boolean | undefined;
                    } & Record<Exclude<keyof I["computeInstanceParams"]["networkInterfaceSpecs"][number]["primaryV4AddressSpec"]["dnsRecordSpecs"][number], keyof import("../../../compute/v1/instance_service").DnsRecordSpec>, never>)[] & Record<Exclude<keyof I["computeInstanceParams"]["networkInterfaceSpecs"][number]["primaryV4AddressSpec"]["dnsRecordSpecs"], keyof {
                        fqdn?: string | undefined;
                        dnsZoneId?: string | undefined;
                        ttl?: number | undefined;
                        ptr?: boolean | undefined;
                    }[]>, never>) | undefined;
                } & Record<Exclude<keyof I["computeInstanceParams"]["networkInterfaceSpecs"][number]["primaryV4AddressSpec"], keyof import("../../../compute/v1/instance_service").PrimaryAddressSpec>, never>) | undefined;
                primaryV6AddressSpec?: ({
                    address?: string | undefined;
                    oneToOneNatSpec?: {
                        ipVersion?: import("../../../compute/v1/instance").IpVersion | undefined;
                        address?: string | undefined;
                        dnsRecordSpecs?: {
                            fqdn?: string | undefined;
                            dnsZoneId?: string | undefined;
                            ttl?: number | undefined;
                            ptr?: boolean | undefined;
                        }[] | undefined;
                    } | undefined;
                    dnsRecordSpecs?: {
                        fqdn?: string | undefined;
                        dnsZoneId?: string | undefined;
                        ttl?: number | undefined;
                        ptr?: boolean | undefined;
                    }[] | undefined;
                } & {
                    address?: string | undefined;
                    oneToOneNatSpec?: ({
                        ipVersion?: import("../../../compute/v1/instance").IpVersion | undefined;
                        address?: string | undefined;
                        dnsRecordSpecs?: {
                            fqdn?: string | undefined;
                            dnsZoneId?: string | undefined;
                            ttl?: number | undefined;
                            ptr?: boolean | undefined;
                        }[] | undefined;
                    } & {
                        ipVersion?: import("../../../compute/v1/instance").IpVersion | undefined;
                        address?: string | undefined;
                        dnsRecordSpecs?: ({
                            fqdn?: string | undefined;
                            dnsZoneId?: string | undefined;
                            ttl?: number | undefined;
                            ptr?: boolean | undefined;
                        }[] & ({
                            fqdn?: string | undefined;
                            dnsZoneId?: string | undefined;
                            ttl?: number | undefined;
                            ptr?: boolean | undefined;
                        } & {
                            fqdn?: string | undefined;
                            dnsZoneId?: string | undefined;
                            ttl?: number | undefined;
                            ptr?: boolean | undefined;
                        } & Record<Exclude<keyof I["computeInstanceParams"]["networkInterfaceSpecs"][number]["primaryV6AddressSpec"]["oneToOneNatSpec"]["dnsRecordSpecs"][number], keyof import("../../../compute/v1/instance_service").DnsRecordSpec>, never>)[] & Record<Exclude<keyof I["computeInstanceParams"]["networkInterfaceSpecs"][number]["primaryV6AddressSpec"]["oneToOneNatSpec"]["dnsRecordSpecs"], keyof {
                            fqdn?: string | undefined;
                            dnsZoneId?: string | undefined;
                            ttl?: number | undefined;
                            ptr?: boolean | undefined;
                        }[]>, never>) | undefined;
                    } & Record<Exclude<keyof I["computeInstanceParams"]["networkInterfaceSpecs"][number]["primaryV6AddressSpec"]["oneToOneNatSpec"], keyof import("../../../compute/v1/instance_service").OneToOneNatSpec>, never>) | undefined;
                    dnsRecordSpecs?: ({
                        fqdn?: string | undefined;
                        dnsZoneId?: string | undefined;
                        ttl?: number | undefined;
                        ptr?: boolean | undefined;
                    }[] & ({
                        fqdn?: string | undefined;
                        dnsZoneId?: string | undefined;
                        ttl?: number | undefined;
                        ptr?: boolean | undefined;
                    } & {
                        fqdn?: string | undefined;
                        dnsZoneId?: string | undefined;
                        ttl?: number | undefined;
                        ptr?: boolean | undefined;
                    } & Record<Exclude<keyof I["computeInstanceParams"]["networkInterfaceSpecs"][number]["primaryV6AddressSpec"]["dnsRecordSpecs"][number], keyof import("../../../compute/v1/instance_service").DnsRecordSpec>, never>)[] & Record<Exclude<keyof I["computeInstanceParams"]["networkInterfaceSpecs"][number]["primaryV6AddressSpec"]["dnsRecordSpecs"], keyof {
                        fqdn?: string | undefined;
                        dnsZoneId?: string | undefined;
                        ttl?: number | undefined;
                        ptr?: boolean | undefined;
                    }[]>, never>) | undefined;
                } & Record<Exclude<keyof I["computeInstanceParams"]["networkInterfaceSpecs"][number]["primaryV6AddressSpec"], keyof import("../../../compute/v1/instance_service").PrimaryAddressSpec>, never>) | undefined;
                securityGroupIds?: (string[] & string[] & Record<Exclude<keyof I["computeInstanceParams"]["networkInterfaceSpecs"][number]["securityGroupIds"], keyof string[]>, never>) | undefined;
                index?: string | undefined;
            } & Record<Exclude<keyof I["computeInstanceParams"]["networkInterfaceSpecs"][number], keyof import("../../../compute/v1/instance_service").NetworkInterfaceSpec>, never>)[] & Record<Exclude<keyof I["computeInstanceParams"]["networkInterfaceSpecs"], keyof {
                subnetId?: string | undefined;
                primaryV4AddressSpec?: {
                    address?: string | undefined;
                    oneToOneNatSpec?: {
                        ipVersion?: import("../../../compute/v1/instance").IpVersion | undefined;
                        address?: string | undefined;
                        dnsRecordSpecs?: {
                            fqdn?: string | undefined;
                            dnsZoneId?: string | undefined;
                            ttl?: number | undefined;
                            ptr?: boolean | undefined;
                        }[] | undefined;
                    } | undefined;
                    dnsRecordSpecs?: {
                        fqdn?: string | undefined;
                        dnsZoneId?: string | undefined;
                        ttl?: number | undefined;
                        ptr?: boolean | undefined;
                    }[] | undefined;
                } | undefined;
                primaryV6AddressSpec?: {
                    address?: string | undefined;
                    oneToOneNatSpec?: {
                        ipVersion?: import("../../../compute/v1/instance").IpVersion | undefined;
                        address?: string | undefined;
                        dnsRecordSpecs?: {
                            fqdn?: string | undefined;
                            dnsZoneId?: string | undefined;
                            ttl?: number | undefined;
                            ptr?: boolean | undefined;
                        }[] | undefined;
                    } | undefined;
                    dnsRecordSpecs?: {
                        fqdn?: string | undefined;
                        dnsZoneId?: string | undefined;
                        ttl?: number | undefined;
                        ptr?: boolean | undefined;
                    }[] | undefined;
                } | undefined;
                securityGroupIds?: string[] | undefined;
                index?: string | undefined;
            }[]>, never>) | undefined;
            serviceAccountId?: string | undefined;
            platformId?: string | undefined;
        } & Record<Exclude<keyof I["computeInstanceParams"], keyof CreateComputeInstance>, never>) | undefined;
        agentVersion?: string | undefined;
        labels?: ({
            [x: string]: string | undefined;
        } & {
            [x: string]: string | undefined;
        } & Record<Exclude<keyof I["labels"], string | number>, never>) | undefined;
        logSettings?: ({
            cloudLogGroupId?: string | undefined;
        } & {
            cloudLogGroupId?: string | undefined;
        } & Record<Exclude<keyof I["logSettings"], "cloudLogGroupId">, never>) | undefined;
    } & Record<Exclude<keyof I, keyof CreateAgentRequest>, never>>(object: I): CreateAgentRequest;
};
export declare const CreateAgentRequest_LabelsEntry: {
    encode(message: CreateAgentRequest_LabelsEntry, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): CreateAgentRequest_LabelsEntry;
    fromJSON(object: any): CreateAgentRequest_LabelsEntry;
    toJSON(message: CreateAgentRequest_LabelsEntry): unknown;
    fromPartial<I extends {
        key?: string | undefined;
        value?: string | undefined;
    } & {
        key?: string | undefined;
        value?: string | undefined;
    } & Record<Exclude<keyof I, keyof CreateAgentRequest_LabelsEntry>, never>>(object: I): CreateAgentRequest_LabelsEntry;
};
export declare const CreateAgentMetadata: {
    encode(message: CreateAgentMetadata, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): CreateAgentMetadata;
    fromJSON(object: any): CreateAgentMetadata;
    toJSON(message: CreateAgentMetadata): unknown;
    fromPartial<I extends {
        agentId?: string | undefined;
    } & {
        agentId?: string | undefined;
    } & Record<Exclude<keyof I, "agentId">, never>>(object: I): CreateAgentMetadata;
};
export declare const GetAgentRequest: {
    encode(message: GetAgentRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): GetAgentRequest;
    fromJSON(object: any): GetAgentRequest;
    toJSON(message: GetAgentRequest): unknown;
    fromPartial<I extends {
        agentId?: string | undefined;
    } & {
        agentId?: string | undefined;
    } & Record<Exclude<keyof I, "agentId">, never>>(object: I): GetAgentRequest;
};
export declare const DeleteAgentRequest: {
    encode(message: DeleteAgentRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): DeleteAgentRequest;
    fromJSON(object: any): DeleteAgentRequest;
    toJSON(message: DeleteAgentRequest): unknown;
    fromPartial<I extends {
        agentId?: string | undefined;
    } & {
        agentId?: string | undefined;
    } & Record<Exclude<keyof I, "agentId">, never>>(object: I): DeleteAgentRequest;
};
export declare const DeleteAgentMetadata: {
    encode(message: DeleteAgentMetadata, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): DeleteAgentMetadata;
    fromJSON(object: any): DeleteAgentMetadata;
    toJSON(message: DeleteAgentMetadata): unknown;
    fromPartial<I extends {
        agentId?: string | undefined;
    } & {
        agentId?: string | undefined;
    } & Record<Exclude<keyof I, "agentId">, never>>(object: I): DeleteAgentMetadata;
};
export declare const ListAgentsRequest: {
    encode(message: ListAgentsRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): ListAgentsRequest;
    fromJSON(object: any): ListAgentsRequest;
    toJSON(message: ListAgentsRequest): 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 ListAgentsRequest>, never>>(object: I): ListAgentsRequest;
};
export declare const ListAgentsResponse: {
    encode(message: ListAgentsResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): ListAgentsResponse;
    fromJSON(object: any): ListAgentsResponse;
    toJSON(message: ListAgentsResponse): unknown;
    fromPartial<I extends {
        agents?: {
            id?: string | undefined;
            folderId?: string | undefined;
            name?: string | undefined;
            description?: string | undefined;
            computeInstanceId?: string | undefined;
            status?: import("./agent/status").Status | undefined;
            errors?: string[] | undefined;
            currentJobId?: string | undefined;
            agentVersionId?: string | undefined;
            labels?: {
                [x: string]: string | undefined;
            } | undefined;
            logSettings?: {
                cloudLogGroupId?: string | undefined;
            } | undefined;
        }[] | undefined;
        nextPageToken?: string | undefined;
    } & {
        agents?: ({
            id?: string | undefined;
            folderId?: string | undefined;
            name?: string | undefined;
            description?: string | undefined;
            computeInstanceId?: string | undefined;
            status?: import("./agent/status").Status | undefined;
            errors?: string[] | undefined;
            currentJobId?: string | undefined;
            agentVersionId?: string | undefined;
            labels?: {
                [x: string]: string | undefined;
            } | undefined;
            logSettings?: {
                cloudLogGroupId?: string | undefined;
            } | undefined;
        }[] & ({
            id?: string | undefined;
            folderId?: string | undefined;
            name?: string | undefined;
            description?: string | undefined;
            computeInstanceId?: string | undefined;
            status?: import("./agent/status").Status | undefined;
            errors?: string[] | undefined;
            currentJobId?: string | undefined;
            agentVersionId?: string | undefined;
            labels?: {
                [x: string]: string | undefined;
            } | undefined;
            logSettings?: {
                cloudLogGroupId?: string | undefined;
            } | undefined;
        } & {
            id?: string | undefined;
            folderId?: string | undefined;
            name?: string | undefined;
            description?: string | undefined;
            computeInstanceId?: string | undefined;
            status?: import("./agent/status").Status | undefined;
            errors?: (string[] & string[] & Record<Exclude<keyof I["agents"][number]["errors"], keyof string[]>, never>) | undefined;
            currentJobId?: string | undefined;
            agentVersionId?: string | undefined;
            labels?: ({
                [x: string]: string | undefined;
            } & {
                [x: string]: string | undefined;
            } & Record<Exclude<keyof I["agents"][number]["labels"], string | number>, never>) | undefined;
            logSettings?: ({
                cloudLogGroupId?: string | undefined;
            } & {
                cloudLogGroupId?: string | undefined;
            } & Record<Exclude<keyof I["agents"][number]["logSettings"], "cloudLogGroupId">, never>) | undefined;
        } & Record<Exclude<keyof I["agents"][number], keyof Agent>, never>)[] & Record<Exclude<keyof I["agents"], keyof {
            id?: string | undefined;
            folderId?: string | undefined;
            name?: string | undefined;
            description?: string | undefined;
            computeInstanceId?: string | undefined;
            status?: import("./agent/status").Status | undefined;
            errors?: string[] | undefined;
            currentJobId?: string | undefined;
            agentVersionId?: string | undefined;
            labels?: {
                [x: string]: string | undefined;
            } | undefined;
            logSettings?: {
                cloudLogGroupId?: string | undefined;
            } | undefined;
        }[]>, never>) | undefined;
        nextPageToken?: string | undefined;
    } & Record<Exclude<keyof I, keyof ListAgentsResponse>, never>>(object: I): ListAgentsResponse;
};
export declare const UpdateAgentRequest: {
    encode(message: UpdateAgentRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): UpdateAgentRequest;
    fromJSON(object: any): UpdateAgentRequest;
    toJSON(message: UpdateAgentRequest): unknown;
    fromPartial<I extends {
        agentId?: string | undefined;
        updateMask?: {
            paths?: string[] | undefined;
        } | undefined;
        name?: string | undefined;
        description?: string | undefined;
        computeInstanceParams?: {
            labels?: {
                [x: string]: string | undefined;
            } | undefined;
            zoneId?: string | undefined;
            resourcesSpec?: {
                memory?: number | undefined;
                cores?: number | undefined;
                coreFraction?: number | undefined;
                gpus?: number | undefined;
            } | undefined;
            metadata?: {
                [x: string]: string | undefined;
            } | undefined;
            bootDiskSpec?: {
                mode?: import("../../../compute/v1/instance_service").AttachedDiskSpec_Mode | undefined;
                deviceName?: string | undefined;
                autoDelete?: boolean | undefined;
                diskSpec?: {
                    name?: string | undefined;
                    description?: string | undefined;
                    typeId?: string | undefined;
                    size?: number | undefined;
                    imageId?: string | undefined;
                    snapshotId?: string | undefined;
                    diskPlacementPolicy?: {
                        placementGroupId?: string | undefined;
                        placementGroupPartition?: number | undefined;
                    } | undefined;
                    blockSize?: number | undefined;
                    kmsKeyId?: string | undefined;
                } | undefined;
                diskId?: string | undefined;
            } | undefined;
            networkInterfaceSpecs?: {
                subnetId?: string | undefined;
                primaryV4AddressSpec?: {
                    address?: string | undefined;
                    oneToOneNatSpec?: {
                        ipVersion?: import("../../../compute/v1/instance").IpVersion | undefined;
                        address?: string | undefined;
                        dnsRecordSpecs?: {
                            fqdn?: string | undefined;
                            dnsZoneId?: string | undefined;
                            ttl?: number | undefined;
                            ptr?: boolean | undefined;
                        }[] | undefined;
                    } | undefined;
                    dnsRecordSpecs?: {
                        fqdn?: string | undefined;
                        dnsZoneId?: string | undefined;
                        ttl?: number | undefined;
                        ptr?: boolean | undefined;
                    }[] | undefined;
                } | undefined;
                primaryV6AddressSpec?: {
                    address?: string | undefined;
                    oneToOneNatSpec?: {
                        ipVersion?: import("../../../compute/v1/instance").IpVersion | undefined;
                        address?: string | undefined;
                        dnsRecordSpecs?: {
                            fqdn?: string | undefined;
                            dnsZoneId?: string | undefined;
                            ttl?: number | undefined;
                            ptr?: boolean | undefined;
                        }[] | undefined;
                    } | undefined;
                    dnsRecordSpecs?: {
                        fqdn?: string | undefined;
                        dnsZoneId?: string | undefined;
                        ttl?: number | undefined;
                        ptr?: boolean | undefined;
                    }[] | undefined;
                } | undefined;
                securityGroupIds?: string[] | undefined;
                index?: string | undefined;
            }[] | undefined;
            serviceAccountId?: string | undefined;
            platformId?: string | undefined;
        } | undefined;
        labels?: {
            [x: string]: string | undefined;
        } | undefined;
    } & {
        agentId?: 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;
        computeInstanceParams?: ({
            labels?: {
                [x: string]: string | undefined;
            } | undefined;
            zoneId?: string | undefined;
            resourcesSpec?: {
                memory?: number | undefined;
                cores?: number | undefined;
                coreFraction?: number | undefined;
                gpus?: number | undefined;
            } | undefined;
            metadata?: {
                [x: string]: string | undefined;
            } | undefined;
            bootDiskSpec?: {
                mode?: import("../../../compute/v1/instance_service").AttachedDiskSpec_Mode | undefined;
                deviceName?: string | undefined;
                autoDelete?: boolean | undefined;
                diskSpec?: {
                    name?: string | undefined;
                    description?: string | undefined;
                    typeId?: string | undefined;
                    size?: number | undefined;
                    imageId?: string | undefined;
                    snapshotId?: string | undefined;
                    diskPlacementPolicy?: {
                        placementGroupId?: string | undefined;
                        placementGroupPartition?: number | undefined;
                    } | undefined;
                    blockSize?: number | undefined;
                    kmsKeyId?: string | undefined;
                } | undefined;
                diskId?: string | undefined;
            } | undefined;
            networkInterfaceSpecs?: {
                subnetId?: string | undefined;
                primaryV4AddressSpec?: {
                    address?: string | undefined;
                    oneToOneNatSpec?: {
                        ipVersion?: import("../../../compute/v1/instance").IpVersion | undefined;
                        address?: string | undefined;
                        dnsRecordSpecs?: {
                            fqdn?: string | undefined;
                            dnsZoneId?: string | undefined;
                            ttl?: number | undefined;
                            ptr?: boolean | undefined;
                        }[] | undefined;
                    } | undefined;
                    dnsRecordSpecs?: {
                        fqdn?: string | undefined;
                        dnsZoneId?: string | undefined;
                        ttl?: number | undefined;
                        ptr?: boolean | undefined;
                    }[] | undefined;
                } | undefined;
                primaryV6AddressSpec?: {
                    address?: string | undefined;
                    oneToOneNatSpec?: {
                        ipVersion?: import("../../../compute/v1/instance").IpVersion | undefined;
                        address?: string | undefined;
                        dnsRecordSpecs?: {
                            fqdn?: string | undefined;
                            dnsZoneId?: string | undefined;
                            ttl?: number | undefined;
                            ptr?: boolean | undefined;
                        }[] | undefined;
                    } | undefined;
                    dnsRecordSpecs?: {
                        fqdn?: string | undefined;
                        dnsZoneId?: string | undefined;
                        ttl?: number | undefined;
                        ptr?: boolean | undefined;
                    }[] | undefined;
                } | undefined;
                securityGroupIds?: string[] | undefined;
                index?: string | undefined;
            }[] | undefined;
            serviceAccountId?: string | undefined;
            platformId?: string | undefined;
        } & {
            labels?: ({
                [x: string]: string | undefined;
            } & {
                [x: string]: string | undefined;
            } & Record<Exclude<keyof I["computeInstanceParams"]["labels"], string | number>, never>) | undefined;
            zoneId?: string | undefined;
            resourcesSpec?: ({
                memory?: number | undefined;
                cores?: number | undefined;
                coreFraction?: number | undefined;
                gpus?: number | undefined;
            } & {
                memory?: number | undefined;
                cores?: number | undefined;
                coreFraction?: number | undefined;
                gpus?: number | undefined;
            } & Record<Exclude<keyof I["computeInstanceParams"]["resourcesSpec"], keyof import("../../../compute/v1/instance_service").ResourcesSpec>, never>) | undefined;
            metadata?: ({
                [x: string]: string | undefined;
            } & {
                [x: string]: string | undefined;
            } & Record<Exclude<keyof I["computeInstanceParams"]["metadata"], string | number>, never>) | undefined;
            bootDiskSpec?: ({
                mode?: import("../../../compute/v1/instance_service").AttachedDiskSpec_Mode | undefined;
                deviceName?: string | undefined;
                autoDelete?: boolean | undefined;
                diskSpec?: {
                    name?: string | undefined;
                    description?: string | undefined;
                    typeId?: string | undefined;
                    size?: number | undefined;
                    imageId?: string | undefined;
                    snapshotId?: string | undefined;
                    diskPlacementPolicy?: {
                        placementGroupId?: string | undefined;
                        placementGroupPartition?: number | undefined;
                    } | undefined;
                    blockSize?: number | undefined;
                    kmsKeyId?: string | undefined;
                } | undefined;
                diskId?: string | undefined;
            } & {
                mode?: import("../../../compute/v1/instance_service").AttachedDiskSpec_Mode | undefined;
                deviceName?: string | undefined;
                autoDelete?: boolean | undefined;
                diskSpec?: ({
                    name?: string | undefined;
                    description?: string | undefined;
                    typeId?: string | undefined;
                    size?: number | undefined;
                    imageId?: string | undefined;
                    snapshotId?: string | undefined;
                    diskPlacementPolicy?: {
                        placementGroupId?: string | undefined;
                        placementGroupPartition?: number | undefined;
                    } | undefined;
                    blockSize?: number | undefined;
                    kmsKeyId?: string | undefined;
                } & {
                    name?: string | undefined;
                    description?: string | undefined;
                    typeId?: string | undefined;
                    size?: number | undefined;
                    imageId?: string | undefined;
                    snapshotId?: string | undefined;
                    diskPlacementPolicy?: ({
                        placementGroupId?: string | undefined;
                        placementGroupPartition?: number | undefined;
                    } & {
                        placementGroupId?: string | undefined;
                        placementGroupPartition?: number | undefined;
                    } & Record<Exclude<keyof I["computeInstanceParams"]["bootDiskSpec"]["diskSpec"]["diskPlacementPolicy"], keyof import("../../../compute/v1/disk").DiskPlacementPolicy>, never>) | undefined;
                    blockSize?: number | undefined;
                    kmsKeyId?: string | undefined;
                } & Record<Exclude<keyof I["computeInstanceParams"]["bootDiskSpec"]["diskSpec"], keyof import("../../../compute/v1/instance_service").AttachedDiskSpec_DiskSpec>, never>) | undefined;
                diskId?: string | undefined;
            } & Record<Exclude<keyof I["computeInstanceParams"]["bootDiskSpec"], keyof import("../../../compute/v1/instance_service").AttachedDiskSpec>, never>) | undefined;
            networkInterfaceSpecs?: ({
                subnetId?: string | undefined;
                primaryV4AddressSpec?: {
                    address?: string | undefined;
                    oneToOneNatSpec?: {
                        ipVersion?: import("../../../compute/v1/instance").IpVersion | undefined;
                        address?: string | undefined;
                        dnsRecordSpecs?: {
                            fqdn?: string | undefined;
                            dnsZoneId?: string | undefined;
                            ttl?: number | undefined;
                            ptr?: boolean | undefined;
                        }[] | undefined;
                    } | undefined;
                    dnsRecordSpecs?: {
                        fqdn?: string | undefined;
                        dnsZoneId?: string | undefined;
                        ttl?: number | undefined;
                        ptr?: boolean | undefined;
                    }[] | undefined;
                } | undefined;
                primaryV6AddressSpec?: {
                    address?: string | undefined;
                    oneToOneNatSpec?: {
                        ipVersion?: import("../../../compute/v1/instance").IpVersion | undefined;
                        address?: string | undefined;
                        dnsRecordSpecs?: {
                            fqdn?: string | undefined;
                            dnsZoneId?: string | undefined;
                            ttl?: number | undefined;
                            ptr?: boolean | undefined;
                        }[] | undefined;
                    } | undefined;
                    dnsRecordSpecs?: {
                        fqdn?: string | undefined;
                        dnsZoneId?: string | undefined;
                        ttl?: number | undefined;
                        ptr?: boolean | undefined;
                    }[] | undefined;
                } | undefined;
                securityGroupIds?: string[] | undefined;
                index?: string | undefined;
            }[] & ({
                subnetId?: string | undefined;
                primaryV4AddressSpec?: {
                    address?: string | undefined;
                    oneToOneNatSpec?: {
                        ipVersion?: import("../../../compute/v1/instance").IpVersion | undefined;
                        address?: string | undefined;
                        dnsRecordSpecs?: {
                            fqdn?: string | undefined;
                            dnsZoneId?: string | undefined;
                            ttl?: number | undefined;
                            ptr?: boolean | undefined;
                        }[] | undefined;
                    } | undefined;
                    dnsRecordSpecs?: {
                        fqdn?: string | undefined;
                        dnsZoneId?: string | undefined;
                        ttl?: number | undefined;
                        ptr?: boolean | undefined;
                    }[] | undefined;
                } | undefined;
                primaryV6AddressSpec?: {
                    address?: string | undefined;
                    oneToOneNatSpec?: {
                        ipVersion?: import("../../../compute/v1/instance").IpVersion | undefined;
                        address?: string | undefined;
                        dnsRecordSpecs?: {
                            fqdn?: string | undefined;
                            dnsZoneId?: string | undefined;
                            ttl?: number | undefined;
                            ptr?: boolean | undefined;
                        }[] | undefined;
                    } | undefined;
                    dnsRecordSpecs?: {
                        fqdn?: string | undefined;
                        dnsZoneId?: string | undefined;
                        ttl?: number | undefined;
                        ptr?: boolean | undefined;
                    }[] | undefined;
                } | undefined;
                securityGroupIds?: string[] | undefined;
                index?: string | undefined;
            } & {
                subnetId?: string | undefined;
                primaryV4AddressSpec?: ({
                    address?: string | undefined;
                    oneToOneNatSpec?: {
                        ipVersion?: import("../../../compute/v1/instance").IpVersion | undefined;
                        address?: string | undefined;
                        dnsRecordSpecs?: {
                            fqdn?: string | undefined;
                            dnsZoneId?: string | undefined;
                            ttl?: number | undefined;
                            ptr?: boolean | undefined;
                        }[] | undefined;
                    } | undefined;
                    dnsRecordSpecs?: {
                        fqdn?: string | undefined;
                        dnsZoneId?: string | undefined;
                        ttl?: number | undefined;
                        ptr?: boolean | undefined;
                    }[] | undefined;
                } & {
                    address?: string | undefined;
                    oneToOneNatSpec?: ({
                        ipVersion?: import("../../../compute/v1/instance").IpVersion | undefined;
                        address?: string | undefined;
                        dnsRecordSpecs?: {
                            fqdn?: string | undefined;
                            dnsZoneId?: string | undefined;
                            ttl?: number | undefined;
                            ptr?: boolean | undefined;
                        }[] | undefined;
                    } & {
                        ipVersion?: import("../../../compute/v1/instance").IpVersion | undefined;
                        address?: string | undefined;
                        dnsRecordSpecs?: ({
                            fqdn?: string | undefined;
                            dnsZoneId?: string | undefined;
                            ttl?: number | undefined;
                            ptr?: boolean | undefined;
                        }[] & ({
                            fqdn?: string | undefined;
                            dnsZoneId?: string | undefined;
                            ttl?: number | undefined;
                            ptr?: boolean | undefined;
                        } & {
                            fqdn?: string | undefined;
                            dnsZoneId?: string | undefined;
                            ttl?: number | undefined;
                            ptr?: boolean | undefined;
                        } & Record<Exclude<keyof I["computeInstanceParams"]["networkInterfaceSpecs"][number]["primaryV4AddressSpec"]["oneToOneNatSpec"]["dnsRecordSpecs"][number], keyof import("../../../compute/v1/instance_service").DnsRecordSpec>, never>)[] & Record<Exclude<keyof I["computeInstanceParams"]["networkInterfaceSpecs"][number]["primaryV4AddressSpec"]["oneToOneNatSpec"]["dnsRecordSpecs"], keyof {
                            fqdn?: string | undefined;
                            dnsZoneId?: string | undefined;
                            ttl?: number | undefined;
                            ptr?: boolean | undefined;
                        }[]>, never>) | undefined;
                    } & Record<Exclude<keyof I["computeInstanceParams"]["networkInterfaceSpecs"][number]["primaryV4AddressSpec"]["oneToOneNatSpec"], keyof import("../../../compute/v1/instance_service").OneToOneNatSpec>, never>) | undefined;
                    dnsRecordSpecs?: ({
                        fqdn?: string | undefined;
                        dnsZoneId?: string | undefined;
                        ttl?: number | undefined;
                        ptr?: boolean | undefined;
                    }[] & ({
                        fqdn?: string | undefined;
                        dnsZoneId?: string | undefined;
                        ttl?: number | undefined;
                        ptr?: boolean | undefined;
                    } & {
                        fqdn?: string | undefined;
                        dnsZoneId?: string | undefined;
                        ttl?: number | undefined;
                        ptr?: boolean | undefined;
                    } & Record<Exclude<keyof I["computeInstanceParams"]["networkInterfaceSpecs"][number]["primaryV4AddressSpec"]["dnsRecordSpecs"][number], keyof import("../../../compute/v1/instance_service").DnsRecordSpec>, never>)[] & Record<Exclude<keyof I["computeInstanceParams"]["networkInterfaceSpecs"][number]["primaryV4AddressSpec"]["dnsRecordSpecs"], keyof {
                        fqdn?: string | undefined;
                        dnsZoneId?: string | undefined;
                        ttl?: number | undefined;
                        ptr?: boolean | undefined;
                    }[]>, never>) | undefined;
                } & Record<Exclude<keyof I["computeInstanceParams"]["networkInterfaceSpecs"][number]["primaryV4AddressSpec"], keyof import("../../../compute/v1/instance_service").PrimaryAddressSpec>, never>) | undefined;
                primaryV6AddressSpec?: ({
                    address?: string | undefined;
                    oneToOneNatSpec?: {
                        ipVersion?: import("../../../compute/v1/instance").IpVersion | undefined;
                        address?: string | undefined;
                        dnsRecordSpecs?: {
                            fqdn?: string | undefined;
                            dnsZoneId?: string | undefined;
                            ttl?: number | undefined;
                            ptr?: boolean | undefined;
                        }[] | undefined;
                    } | undefined;
                    dnsRecordSpecs?: {
                        fqdn?: string | undefined;
                        dnsZoneId?: string | undefined;
                        ttl?: number | undefined;
                        ptr?: boolean | undefined;
                    }[] | undefined;
                } & {
                    address?: string | undefined;
                    oneToOneNatSpec?: ({
                        ipVersion?: import("../../../compute/v1/instance").IpVersion | undefined;
                        address?: string | undefined;
                        dnsRecordSpecs?: {
                            fqdn?: string | undefined;
                            dnsZoneId?: string | undefined;
                            ttl?: number | undefined;
                            ptr?: boolean | undefined;
                        }[] | undefined;
                    } & {
                        ipVersion?: import("../../../compute/v1/instance").IpVersion | undefined;
                        address?: string | undefined;
                        dnsRecordSpecs?: ({
                            fqdn?: string | undefined;
                            dnsZoneId?: string | undefined;
                            ttl?: number | undefined;
                            ptr?: boolean | undefined;
                        }[] & ({
                            fqdn?: string | undefined;
                            dnsZoneId?: string | undefined;
                            ttl?: number | undefined;
                            ptr?: boolean | undefined;
                        } & {
                            fqdn?: string | undefined;
                            dnsZoneId?: string | undefined;
                            ttl?: number | undefined;
                            ptr?: boolean | undefined;
                        } & Record<Exclude<keyof I["computeInstanceParams"]["networkInterfaceSpecs"][number]["primaryV6AddressSpec"]["oneToOneNatSpec"]["dnsRecordSpecs"][number], keyof import("../../../compute/v1/instance_service").DnsRecordSpec>, never>)[] & Record<Exclude<keyof I["computeInstanceParams"]["networkInterfaceSpecs"][number]["primaryV6AddressSpec"]["oneToOneNatSpec"]["dnsRecordSpecs"], keyof {
                            fqdn?: string | undefined;
                            dnsZoneId?: string | undefined;
                            ttl?: number | undefined;
                            ptr?: boolean | undefined;
                        }[]>, never>) | undefined;
                    } & Record<Exclude<keyof I["computeInstanceParams"]["networkInterfaceSpecs"][number]["primaryV6AddressSpec"]["oneToOneNatSpec"], keyof import("../../../compute/v1/instance_service").OneToOneNatSpec>, never>) | undefined;
                    dnsRecordSpecs?: ({
                        fqdn?: string | undefined;
                        dnsZoneId?: string | undefined;
                        ttl?: number | undefined;
                        ptr?: boolean | undefined;
                    }[] & ({
                        fqdn?: string | undefined;
                        dnsZoneId?: string | undefined;
                        ttl?: number | undefined;
                        ptr?: boolean | undefined;
                    } & {
                        fqdn?: string | undefined;
                        dnsZoneId?: string | undefined;
                        ttl?: number | undefined;
                        ptr?: boolean | undefined;
                    } & Record<Exclude<keyof I["computeInstanceParams"]["networkInterfaceSpecs"][number]["primaryV6AddressSpec"]["dnsRecordSpecs"][number], keyof import("../../../compute/v1/instance_service").DnsRecordSpec>, never>)[] & Record<Exclude<keyof I["computeInstanceParams"]["networkInterfaceSpecs"][number]["primaryV6AddressSpec"]["dnsRecordSpecs"], keyof {
                        fqdn?: string | undefined;
                        dnsZoneId?: string | undefined;
                        ttl?: number | undefined;
                        ptr?: boolean | undefined;
                    }[]>, never>) | undefined;
                } & Record<Exclude<keyof I["computeInstanceParams"]["networkInterfaceSpecs"][number]["primaryV6AddressSpec"], keyof import("../../../compute/v1/instance_service").PrimaryAddressSpec>, never>) | undefined;
                securityGroupIds?: (string[] & string[] & Record<Exclude<keyof I["computeInstanceParams"]["networkInterfaceSpecs"][number]["securityGroupIds"], keyof string[]>, never>) | undefined;
                index?: string | undefined;
            } & Record<Exclude<keyof I["computeInstanceParams"]["networkInterfaceSpecs"][number], keyof import("../../../compute/v1/instance_service").NetworkInterfaceSpec>, never>)[] & Record<Exclude<keyof I["computeInstanceParams"]["networkInterfaceSpecs"], keyof {
                subnetId?: string | undefined;
                primaryV4AddressSpec?: {
                    address?: string | undefined;
                    oneToOneNatSpec?: {
                        ipVersion?: import("../../../compute/v1/instance").IpVersion | undefined;
                        address?: string | undefined;
                        dnsRecordSpecs?: {
                            fqdn?: string | undefined;
                            dnsZoneId?: string | undefined;
                            ttl?: number | undefined;
                            ptr?: boolean | undefined;
                        }[] | undefined;
                    } | undefined;
                    dnsRecordSpecs?: {
                        fqdn?: string | undefined;
                        dnsZoneId?: string | undefined;
                        ttl?: number | undefined;
                        ptr?: boolean | undefined;
                    }[] | undefined;
                } | undefined;
                primaryV6AddressSpec?: {
                    address?: string | undefined;
                    oneToOneNatSpec?: {
                        ipVersion?: import("../../../compute/v1/instance").IpVersion | undefined;
                        address?: string | undefined;
                        dnsRecordSpecs?: {
                            fqdn?: string | undefined;
                            dnsZoneId?: string | undefined;
                            ttl?: number | undefined;
                            ptr?: boolean | undefined;
                        }[] | undefined;
                    } | undefined;
                    dnsRecordSpecs?: {
                        fqdn?: string | undefined;
                        dnsZoneId?: string | undefined;
                        ttl?: number | undefined;
                        ptr?: boolean | undefined;
                    }[] | undefined;
                } | undefined;
                securityGroupIds?: string[] | undefined;
                index?: string | undefined;
            }[]>, never>) | undefined;
            serviceAccountId?: string | undefined;
            platformId?: string | undefined;
        } & Record<Exclude<keyof I["computeInstanceParams"], keyof CreateComputeInstance>, never>) | undefined;
        labels?: ({
            [x: string]: string | undefined;
        } & {
            [x: string]: string | undefined;
        } & Record<Exclude<keyof I["labels"], string | number>, never>) | undefined;
    } & Record<Exclude<keyof I, keyof UpdateAgentRequest>, never>>(object: I): UpdateAgentRequest;
};
export declare const UpdateAgentRequest_LabelsEntry: {
    encode(message: UpdateAgentRequest_LabelsEntry, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): UpdateAgentRequest_LabelsEntry;
    fromJSON(object: any): UpdateAgentRequest_LabelsEntry;
    toJSON(message: UpdateAgentRequest_LabelsEntry): unknown;
    fromPartial<I extends {
        key?: string | undefined;
        value?: string | undefined;
    } & {
        key?: string | undefined;
        value?: string | undefined;
    } & Record<Exclude<keyof I, keyof UpdateAgentRequest_LabelsEntry>, never>>(object: I): UpdateAgentRequest_LabelsEntry;
};
export declare const UpdateAgentMetadata: {
    encode(message: UpdateAgentMetadata, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): UpdateAgentMetadata;
    fromJSON(object: any): UpdateAgentMetadata;
    toJSON(message: UpdateAgentMetadata): unknown;
    fromPartial<I extends {
        agentId?: string | undefined;
    } & {
        agentId?: string | undefined;
    } & Record<Exclude<keyof I, "agentId">, never>>(object: I): UpdateAgentMetadata;
};
/** A set of methods for managing Load Testing agents. */
export declare const AgentServiceService: {
    /**
     * Creates an agent in the specified folder.
     *
     * Also creates a corresponding compute instance.
     */
    readonly create: {
        readonly path: "/yandex.cloud.loadtesting.api.v1.AgentService/Create";
        readonly requestStream: false;
        readonly responseStream: false;
        readonly requestSerialize: (value: CreateAgentRequest) => Buffer;
        readonly requestDeserialize: (value: Buffer) => CreateAgentRequest;
        readonly responseSerialize: (value: Operation) => Buffer;
        readonly responseDeserialize: (value: Buffer) => Operation;
    };
    /**
     * Returns the specified agent.
     *
     * To get the list of all available agents, make a [List] request.
     */
    readonly get: {
        readonly path: "/yandex.cloud.loadtesting.api.v1.AgentService/Get";
        readonly requestStream: false;
        readonly responseStream: false;
        readonly requestSerialize: (value: GetAgentRequest) => Buffer;
        readonly requestDeserialize: (value: Buffer) => GetAgentRequest;
        readonly responseSerialize: (value: Agent) => Buffer;
        readonly responseDeserialize: (value: Buffer) => Agent;
    };
    /** Retrieves the list of agents in the specified folder. */
    readonly list: {
        readonly path: "/yandex.cloud.loadtesting.api.v1.AgentService/List";
        readonly requestStream: false;
        readonly responseStream: false;
        readonly requestSerialize: (value: ListAgentsRequest) => Buffer;
        readonly requestDeserialize: (value: Buffer) => ListAgentsRequest;
        readonly responseSerialize: (value: ListAgentsResponse) => Buffer;
        readonly responseDeserialize: (value: Buffer) => ListAgentsResponse;
    };
    /**
     * Deletes the specified agent.
     *
     * Also deletes a corresponding compute instance.
     */
    readonly delete: {
        readonly path: "/yandex.cloud.loadtesting.api.v1.AgentService/Delete";
        readonly requestStream: false;
        readonly responseStream: false;
        readonly requestSerialize: (value: DeleteAgentRequest) => Buffer;
        readonly requestDeserialize: (value: Buffer) => DeleteAgentRequest;
        readonly responseSerialize: (value: Operation) => Buffer;
        readonly responseDeserialize: (value: Buffer) => Operation;
    };
    /** Updates the specified agent. */
    readonly update: {
        readonly path: "/yandex.cloud.loadtesting.api.v1.AgentService/Update";
        readonly requestStream: false;
        readonly responseStream: false;
        readonly requestSerialize: (value: UpdateAgentRequest) => Buffer;
        readonly requestDeserialize: (value: Buffer) => UpdateAgentRequest;
        readonly responseSerialize: (value: Operation) => Buffer;
        readonly responseDeserialize: (value: Buffer) => Operation;
    };
};
export interface AgentServiceServer extends UntypedServiceImplementation {
    /**
     * Creates an agent in the specified folder.
     *
     * Also creates a corresponding compute instance.
     */
    create: handleUnaryCall<CreateAgentRequest, Operation>;
    /**
     * Returns the specified agent.
     *
     * To get the list of all available agents, make a [List] request.
     */
    get: handleUnaryCall<GetAgentRequest, Agent>;
    /** Retrieves the list of agents in the specified folder. */
    list: handleUnaryCall<ListAgentsRequest, ListAgentsResponse>;
    /**
     * Deletes the specified agent.
     *
     * Also deletes a corresponding compute instance.
     */
    delete: handleUnaryCall<DeleteAgentRequest, Operation>;
    /** Updates the specified agent. */
    update: handleUnaryCall<UpdateAgentRequest, Operation>;
}
export interface AgentServiceClient extends Client {
    /**
     * Creates an agent in the specified folder.
     *
     * Also creates a corresponding compute instance.
     */
    create(request: CreateAgentRequest, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall;
    create(request: CreateAgentRequest, metadata: Metadata, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall;
    create(request: CreateAgentRequest, metadata: Metadata, options: Partial<CallOptions>, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall;
    /**
     * Returns the specified agent.
     *
     * To get the list of all available agents, make a [List] request.
     */
    get(request: GetAgentRequest, callback: (error: ServiceError | null, response: Agent) => void): ClientUnaryCall;
    get(request: GetAgentRequest, metadata: Metadata, callback: (error: ServiceError | null, response: Agent) => void): ClientUnaryCall;
    get(request: GetAgentRequest, metadata: Metadata, options: Partial<CallOptions>, callback: (error: ServiceError | null, response: Agent) => void): ClientUnaryCall;
    /** Retrieves the list of agents in the specified folder. */
    list(request: ListAgentsRequest, callback: (error: ServiceError | null, response: ListAgentsResponse) => void): ClientUnaryCall;
    list(request: ListAgentsRequest, metadata: Metadata, callback: (error: ServiceError | null, response: ListAgentsResponse) => void): ClientUnaryCall;
    list(request: ListAgentsRequest, metadata: Metadata, options: Partial<CallOptions>, callback: (error: ServiceError | null, response: ListAgentsResponse) => void): ClientUnaryCall;
    /**
     * Deletes the specified agent.
     *
     * Also deletes a corresponding compute instance.
     */
    delete(request: DeleteAgentRequest, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall;
    delete(request: DeleteAgentRequest, metadata: Metadata, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall;
    delete(request: DeleteAgentRequest, metadata: Metadata, options: Partial<CallOptions>, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall;
    /** Updates the specified agent. */
    update(request: UpdateAgentRequest, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall;
    update(request: UpdateAgentRequest, metadata: Metadata, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall;
    update(request: UpdateAgentRequest, metadata: Metadata, options: Partial<CallOptions>, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall;
}
export declare const AgentServiceClient: {
    new (address: string, credentials: ChannelCredentials, options?: Partial<ChannelOptions>): AgentServiceClient;
    service: typeof AgentServiceService;
};
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 {};
