/**
 * Copyright 2015 Google Inc. All Rights Reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
import { AxiosPromise } from 'axios';
import { GoogleApis } from '../..';
import { BodyResponseCallback, GlobalOptions, MethodOptions } from '../../lib/api';
/**
 * Google Cloud Functions API
 *
 * API for managing lightweight user-provided functions executed in response to
 * events.
 *
 * @example
 * const google = require('googleapis');
 * const cloudfunctions = google.cloudfunctions('v1beta2');
 *
 * @namespace cloudfunctions
 * @type {Function}
 * @version v1beta2
 * @variation v1beta2
 * @param {object=} options Options for Cloudfunctions
 */
export declare class Cloudfunctions {
    _options: GlobalOptions;
    google: GoogleApis;
    root: this;
    operations: Resource$Operations;
    projects: Resource$Projects;
    constructor(options: GlobalOptions, google: GoogleApis);
    getRoot(): this;
}
/**
 * Request for the `CallFunction` method.
 */
export interface Schema$CallFunctionRequest {
    /**
     * Input to be passed to the function.
     */
    data: string;
}
/**
 * Response of `CallFunction` method.
 */
export interface Schema$CallFunctionResponse {
    /**
     * Either system or user-function generated error. Set if execution was not
     * successful.
     */
    error: string;
    /**
     * Execution id of function invocation.
     */
    executionId: string;
    /**
     * Result populated for successful execution of synchronous function. Will not
     * be populated if function does not return a result through context.
     */
    result: string;
}
/**
 * Describes a Cloud Function that contains user computation executed in
 * response to an event. It encapsulate function and triggers configurations.
 */
export interface Schema$CloudFunction {
    /**
     * The amount of memory in MB available for a function. Defaults to 256MB.
     */
    availableMemoryMb: number;
    /**
     * The name of the function (as defined in source code) that will be executed.
     * Defaults to the resource name suffix, if not specified. For backward
     * compatibility, if function with given name is not found, then the system
     * will try to use function named &quot;function&quot;. For Node.js this is
     * name of a function exported by the module specified in `source_location`.
     */
    entryPoint: string;
    /**
     * A source that fires events in response to a condition in another service.
     */
    eventTrigger: Schema$EventTrigger;
    /**
     * An HTTPS endpoint type of source that can be triggered via URL.
     */
    httpsTrigger: Schema$HTTPSTrigger;
    /**
     * Labels associated with this Cloud Function.
     */
    labels: any;
    /**
     * Output only. Name of the most recent operation modifying the function. If
     * the function status is `DEPLOYING` or `DELETING`, then it points to the
     * active operation.
     */
    latestOperation: string;
    /**
     * A user-defined name of the function. Function names must be unique globally
     * and match pattern `projects/x/locations/x/functions/x
     */
    name: string;
    /**
     * Output only. The service account of the function.
     */
    serviceAccount: string;
    /**
     * The Google Cloud Storage URL, starting with gs://, pointing to the zip
     * archive which contains the function.
     */
    sourceArchiveUrl: string;
    /**
     * The hosted repository where the function is defined.
     */
    sourceRepository: Schema$SourceRepository;
    /**
     * The URL pointing to the hosted repository where the function is defined.
     * There are supported Cloud Source Repository URLs in the following formats:
     * To refer to a specific commit:
     * `https://source.developers.google.com/projects/x/repos/x/revisions/x/paths/x
     * To refer to a moveable alias (branch):
     * `https://source.developers.google.com/projects/x/repos/x/moveable-aliases/x/paths/x
     * In particular, to refer to HEAD use `master` moveable alias. To refer to a
     * specific fixed alias (tag):
     * `https://source.developers.google.com/projects/x/repos/x/fixed-aliases/x/paths/x
     * You may omit `paths/x if you want to use the main directory.
     */
    sourceRepositoryUrl: string;
    /**
     * The Google Cloud Storage signed URL used for source uploading, generated by
     * google.cloud.functions.v1beta2.GenerateUploadUrl
     */
    sourceUploadUrl: string;
    /**
     * Output only. Status of the function deployment.
     */
    status: string;
    /**
     * The function execution timeout. Execution is considered failed and can be
     * terminated if the function is not completed at the end of the timeout
     * period. Defaults to 60 seconds.
     */
    timeout: string;
    /**
     * Output only. The last update timestamp of a Cloud Function.
     */
    updateTime: string;
    /**
     * Output only. The version identifier of the Cloud Function. Each deployment
     * attempt results in a new version of a function being created.
     */
    versionId: string;
}
/**
 * Describes EventTrigger, used to request events be sent from another service.
 */
export interface Schema$EventTrigger {
    /**
     * `event_type` names contain the service that is sending an event and the
     * kind of event that was fired. Must be of the form `providers/x/eventTypes/x
     * e.g. Directly handle a Message published to Google Cloud Pub/Sub
     * `providers/cloud.pubsub/eventTypes/topic.publish`.  Handle an object
     * changing in Google Cloud Storage:
     * `providers/cloud.storage/eventTypes/object.change`  Handle a write to the
     * Firebase Realtime Database:
     * `providers/google.firebase.database/eventTypes/ref.write`
     */
    eventType: string;
    /**
     * Specifies policy for failed executions.
     */
    failurePolicy: Schema$FailurePolicy;
    /**
     * Which instance of the source&#39;s service should send events. E.g. for
     * Pub/Sub this would be a Pub/Sub topic at `projects/x/topics/x. For Google
     * Cloud Storage this would be a bucket at `projects/x/buckets/x. For any
     * source that only supports one instance per-project, this should be the name
     * of the project (`projects/x)
     */
    resource: string;
    /**
     * The hostname of the service that should be observed.  If no string is
     * provided, the default service implementing the API will be used. For
     * example, `storage.googleapis.com` is the default for all event types in the
     * `google.storage` namespace.
     */
    service: string;
}
/**
 * Describes the policy in case of function&#39;s execution failure. If empty,
 * then defaults to ignoring failures (i.e. not retrying them).
 */
export interface Schema$FailurePolicy {
    /**
     * If specified, then the function will be retried in case of a failure.
     */
    retry: Schema$Retry;
}
/**
 * Request of `GenerateDownloadUrl` method.
 */
export interface Schema$GenerateDownloadUrlRequest {
    /**
     * The optional version of function.
     */
    versionId: string;
}
/**
 * Response of `GenerateDownloadUrl` method.
 */
export interface Schema$GenerateDownloadUrlResponse {
    /**
     * The generated Google Cloud Storage signed URL that should be used for
     * function source code download.
     */
    downloadUrl: string;
}
/**
 * Request of `GenerateUploadUrl` method.
 */
export interface Schema$GenerateUploadUrlRequest {
}
/**
 * Response of `GenerateUploadUrl` method.
 */
export interface Schema$GenerateUploadUrlResponse {
    /**
     * The generated Google Cloud Storage signed URL that should be used for a
     * function source code upload. The uploaded file should be a zip archive
     * which contains a function.
     */
    uploadUrl: string;
}
/**
 * Describes HTTPSTrigger, could be used to connect web hooks to function.
 */
export interface Schema$HTTPSTrigger {
    /**
     * Output only. The deployed url for the function.
     */
    url: string;
}
/**
 * Response for the `ListFunctions` method.
 */
export interface Schema$ListFunctionsResponse {
    /**
     * The functions that match the request.
     */
    functions: Schema$CloudFunction[];
    /**
     * If not empty, indicates that there may be more functions that match the
     * request; this value should be passed in a new
     * google.cloud.functions.v1beta2.ListFunctionsRequest to get more functions.
     */
    nextPageToken: string;
}
/**
 * The response message for Locations.ListLocations.
 */
export interface Schema$ListLocationsResponse {
    /**
     * A list of locations that matches the specified filter in the request.
     */
    locations: Schema$Location[];
    /**
     * The standard List next-page token.
     */
    nextPageToken: string;
}
/**
 * The response message for Operations.ListOperations.
 */
export interface Schema$ListOperationsResponse {
    /**
     * The standard List next-page token.
     */
    nextPageToken: string;
    /**
     * A list of operations that matches the specified filter in the request.
     */
    operations: Schema$Operation[];
}
/**
 * A resource that represents Google Cloud Platform location.
 */
export interface Schema$Location {
    /**
     * Cross-service attributes for the location. For example
     * {&quot;cloud.googleapis.com/region&quot;: &quot;us-east1&quot;}
     */
    labels: any;
    /**
     * The canonical id for this location. For example: `&quot;us-east1&quot;`.
     */
    locationId: string;
    /**
     * Service-specific metadata. For example the available capacity at the given
     * location.
     */
    metadata: any;
    /**
     * Resource name for the location, which may vary between implementations. For
     * example: `&quot;projects/example-project/locations/us-east1&quot;`
     */
    name: string;
}
/**
 * This resource represents a long-running operation that is the result of a
 * network API call.
 */
export interface Schema$Operation {
    /**
     * If the value is `false`, it means the operation is still in progress. If
     * `true`, the operation is completed, and either `error` or `response` is
     * available.
     */
    done: boolean;
    /**
     * The error result of the operation in case of failure or cancellation.
     */
    error: Schema$Status;
    /**
     * Service-specific metadata associated with the operation.  It typically
     * contains progress information and common metadata such as create time. Some
     * services might not provide such metadata.  Any method that returns a
     * long-running operation should document the metadata type, if any.
     */
    metadata: any;
    /**
     * The server-assigned name, which is only unique within the same service that
     * originally returns it. If you use the default HTTP mapping, the `name`
     * should have the format of `operations/some/unique/name`.
     */
    name: string;
    /**
     * The normal response of the operation in case of success.  If the original
     * method returns no data on success, such as `Delete`, the response is
     * `google.protobuf.Empty`.  If the original method is standard
     * `Get`/`Create`/`Update`, the response should be the resource.  For other
     * methods, the response should have the type `XxxResponse`, where `Xxx` is
     * the original method name.  For example, if the original method name is
     * `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
     */
    response: any;
}
/**
 * Metadata describing an Operation
 */
export interface Schema$OperationMetadataV1 {
    /**
     * The original request that started the operation.
     */
    request: any;
    /**
     * Target of the operation - for example
     * projects/project-1/locations/region-1/functions/function-1
     */
    target: string;
    /**
     * Type of operation.
     */
    type: string;
    /**
     * The last update timestamp of the operation.
     */
    updateTime: string;
    /**
     * Version id of the function created or updated by an API call. This field is
     * only pupulated for Create and Update operations.
     */
    versionId: string;
}
/**
 * Metadata describing an Operation
 */
export interface Schema$OperationMetadataV1Beta2 {
    /**
     * The original request that started the operation.
     */
    request: any;
    /**
     * Target of the operation - for example
     * projects/project-1/locations/region-1/functions/function-1
     */
    target: string;
    /**
     * Type of operation.
     */
    type: string;
    /**
     * The last update timestamp of the operation.
     */
    updateTime: string;
    /**
     * Version id of the function created or updated by an API call. This field is
     * only pupulated for Create and Update operations.
     */
    versionId: string;
}
/**
 * Describes the retry policy in case of function&#39;s execution failure. A
 * function execution will be retried on any failure. A failed execution will be
 * retried up to 7 days with an exponential backoff (capped at 10 seconds).
 * Retried execution is charged as any other execution.
 */
export interface Schema$Retry {
}
/**
 * Describes the location of the function source in a remote repository.
 */
export interface Schema$SourceRepository {
    /**
     * The name of the branch from which the function should be fetched.
     */
    branch: string;
    /**
     * Output only. The id of the revision that was resolved at the moment of
     * function creation or update. For example when a user deployed from a
     * branch, it will be the revision id of the latest change on this branch at
     * that time. If user deployed from revision then this value will be always
     * equal to the revision specified by the user.
     */
    deployedRevision: string;
    /**
     * URL to the hosted repository where the function is defined. Only paths in
     * https://source.developers.google.com domain are supported. The path should
     * contain the name of the repository.
     */
    repositoryUrl: string;
    /**
     * The id of the revision that captures the state of the repository from which
     * the function should be fetched.
     */
    revision: string;
    /**
     * The path within the repository where the function is defined. The path
     * should point to the directory where Cloud Functions files are located. Use
     * &quot;/&quot; if the function is defined directly in the root directory of
     * a repository.
     */
    sourcePath: string;
    /**
     * The name of the tag that captures the state of the repository from which
     * the function should be fetched.
     */
    tag: string;
}
/**
 * The `Status` type defines a logical error model that is suitable for
 * different programming environments, including REST APIs and RPC APIs. It is
 * used by [gRPC](https://github.com/grpc). The error model is designed to be:
 * - Simple to use and understand for most users - Flexible enough to meet
 * unexpected needs  # Overview  The `Status` message contains three pieces of
 * data: error code, error message, and error details. The error code should be
 * an enum value of google.rpc.Code, but it may accept additional error codes if
 * needed.  The error message should be a developer-facing English message that
 * helps developers *understand* and *resolve* the error. If a localized
 * user-facing error message is needed, put the localized message in the error
 * details or localize it in the client. The optional error details may contain
 * arbitrary information about the error. There is a predefined set of error
 * detail types in the package `google.rpc` that can be used for common error
 * conditions.  # Language mapping  The `Status` message is the logical
 * representation of the error model, but it is not necessarily the actual wire
 * format. When the `Status` message is exposed in different client libraries
 * and different wire protocols, it can be mapped differently. For example, it
 * will likely be mapped to some exceptions in Java, but more likely mapped to
 * some error codes in C.  # Other uses  The error model and the `Status`
 * message can be used in a variety of environments, either with or without
 * APIs, to provide a consistent developer experience across different
 * environments.  Example uses of this error model include:  - Partial errors.
 * If a service needs to return partial errors to the client,     it may embed
 * the `Status` in the normal response to indicate the partial     errors.  -
 * Workflow errors. A typical workflow has multiple steps. Each step may have a
 * `Status` message for error reporting.  - Batch operations. If a client uses
 * batch request and batch response, the     `Status` message should be used
 * directly inside batch response, one for     each error sub-response.  -
 * Asynchronous operations. If an API call embeds asynchronous operation results
 * in its response, the status of those operations should be     represented
 * directly using the `Status` message.  - Logging. If some API errors are
 * stored in logs, the message `Status` could     be used directly after any
 * stripping needed for security/privacy reasons.
 */
export interface Schema$Status {
    /**
     * The status code, which should be an enum value of google.rpc.Code.
     */
    code: number;
    /**
     * A list of messages that carry the error details.  There is a common set of
     * message types for APIs to use.
     */
    details: any[];
    /**
     * A developer-facing error message, which should be in English. Any
     * user-facing error message should be localized and sent in the
     * google.rpc.Status.details field, or localized by the client.
     */
    message: string;
}
export declare class Resource$Operations {
    root: Cloudfunctions;
    constructor(root: Cloudfunctions);
    getRoot(): Cloudfunctions;
    /**
     * cloudfunctions.operations.get
     * @desc Gets the latest state of a long-running operation.  Clients can use
     * this method to poll the operation result at intervals as recommended by the
     * API service.
     * @alias cloudfunctions.operations.get
     * @memberOf! ()
     *
     * @param {object} params Parameters for request
     * @param {string} params.name The name of the operation resource.
     * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`.
     * @param {callback} callback The callback that handles the response.
     * @return {object} Request object
     */
    get(params?: any, options?: MethodOptions): AxiosPromise<Schema$Operation>;
    get(params?: any, options?: MethodOptions | BodyResponseCallback<Schema$Operation>, callback?: BodyResponseCallback<Schema$Operation>): void;
    /**
     * cloudfunctions.operations.list
     * @desc Lists operations that match the specified filter in the request. If
     * the server doesn't support this method, it returns `UNIMPLEMENTED`.  NOTE:
     * the `name` binding allows API services to override the binding to use
     * different resource name schemes, such as `users/x/operations`. To override
     * the binding, API services can add a binding such as
     * `"/v1/{name=users/x}/operations"` to their service configuration. For
     * backwards compatibility, the default name includes the operations
     * collection id, however overriding users must ensure the name binding is the
     * parent resource, without the operations collection id.
     * @alias cloudfunctions.operations.list
     * @memberOf! ()
     *
     * @param {object} params Parameters for request
     * @param {string=} params.filter The standard list filter.
     * @param {string=} params.name The name of the operation's parent resource.
     * @param {integer=} params.pageSize The standard list page size.
     * @param {string=} params.pageToken The standard list page token.
     * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`.
     * @param {callback} callback The callback that handles the response.
     * @return {object} Request object
     */
    list(params?: any, options?: MethodOptions): AxiosPromise<Schema$ListOperationsResponse>;
    list(params?: any, options?: MethodOptions | BodyResponseCallback<Schema$ListOperationsResponse>, callback?: BodyResponseCallback<Schema$ListOperationsResponse>): void;
}
export declare class Resource$Projects {
    root: Cloudfunctions;
    locations: Resource$Projects$Locations;
    constructor(root: Cloudfunctions);
    getRoot(): Cloudfunctions;
}
export declare class Resource$Projects$Locations {
    root: Cloudfunctions;
    functions: Resource$Projects$Locations$Functions;
    constructor(root: Cloudfunctions);
    getRoot(): Cloudfunctions;
    /**
     * cloudfunctions.projects.locations.list
     * @desc Lists information about the supported locations for this service.
     * @alias cloudfunctions.projects.locations.list
     * @memberOf! ()
     *
     * @param {object} params Parameters for request
     * @param {string=} params.filter The standard list filter.
     * @param {string} params.name The resource that owns the locations collection, if applicable.
     * @param {integer=} params.pageSize The standard list page size.
     * @param {string=} params.pageToken The standard list page token.
     * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`.
     * @param {callback} callback The callback that handles the response.
     * @return {object} Request object
     */
    list(params?: any, options?: MethodOptions): AxiosPromise<Schema$ListLocationsResponse>;
    list(params?: any, options?: MethodOptions | BodyResponseCallback<Schema$ListLocationsResponse>, callback?: BodyResponseCallback<Schema$ListLocationsResponse>): void;
}
export declare class Resource$Projects$Locations$Functions {
    root: Cloudfunctions;
    constructor(root: Cloudfunctions);
    getRoot(): Cloudfunctions;
    /**
     * cloudfunctions.projects.locations.functions.call
     * @desc Invokes synchronously deployed function. To be used for testing, very
     * limited traffic allowed.
     * @alias cloudfunctions.projects.locations.functions.call
     * @memberOf! ()
     *
     * @param {object} params Parameters for request
     * @param {string} params.name The name of the function to be called.
     * @param {().CallFunctionRequest} params.resource Request body data
     * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`.
     * @param {callback} callback The callback that handles the response.
     * @return {object} Request object
     */
    call(params?: any, options?: MethodOptions): AxiosPromise<Schema$CallFunctionResponse>;
    call(params?: any, options?: MethodOptions | BodyResponseCallback<Schema$CallFunctionResponse>, callback?: BodyResponseCallback<Schema$CallFunctionResponse>): void;
    /**
     * cloudfunctions.projects.locations.functions.create
     * @desc Creates a new function. If a function with the given name already
     * exists in the specified project, the long running operation will return
     * `ALREADY_EXISTS` error.
     * @alias cloudfunctions.projects.locations.functions.create
     * @memberOf! ()
     *
     * @param {object} params Parameters for request
     * @param {string} params.location The project and location in which the function should be created, specified in the format `projects/x/locations/x`
     * @param {().CloudFunction} params.resource Request body data
     * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`.
     * @param {callback} callback The callback that handles the response.
     * @return {object} Request object
     */
    create(params?: any, options?: MethodOptions): AxiosPromise<Schema$Operation>;
    create(params?: any, options?: MethodOptions | BodyResponseCallback<Schema$Operation>, callback?: BodyResponseCallback<Schema$Operation>): void;
    /**
     * cloudfunctions.projects.locations.functions.delete
     * @desc Deletes a function with the given name from the specified project. If
     * the given function is used by some trigger, the trigger will be updated to
     * remove this function.
     * @alias cloudfunctions.projects.locations.functions.delete
     * @memberOf! ()
     *
     * @param {object} params Parameters for request
     * @param {string} params.name The name of the function which should be deleted.
     * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`.
     * @param {callback} callback The callback that handles the response.
     * @return {object} Request object
     */
    delete(params?: any, options?: MethodOptions): AxiosPromise<Schema$Operation>;
    delete(params?: any, options?: MethodOptions | BodyResponseCallback<Schema$Operation>, callback?: BodyResponseCallback<Schema$Operation>): void;
    /**
     * cloudfunctions.projects.locations.functions.generateDownloadUrl
     * @desc Returns a signed URL for downloading deployed function source code.
     * The URL is only valid for a limited period and should be used within
     * minutes after generation. For more information about the signed URL usage
     * see: https://cloud.google.com/storage/docs/access-control/signed-urls
     * @alias cloudfunctions.projects.locations.functions.generateDownloadUrl
     * @memberOf! ()
     *
     * @param {object} params Parameters for request
     * @param {string} params.name The name of function for which source code Google Cloud Storage signed URL should be generated.
     * @param {().GenerateDownloadUrlRequest} params.resource Request body data
     * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`.
     * @param {callback} callback The callback that handles the response.
     * @return {object} Request object
     */
    generateDownloadUrl(params?: any, options?: MethodOptions): AxiosPromise<Schema$GenerateDownloadUrlResponse>;
    generateDownloadUrl(params?: any, options?: MethodOptions | BodyResponseCallback<Schema$GenerateDownloadUrlResponse>, callback?: BodyResponseCallback<Schema$GenerateDownloadUrlResponse>): void;
    /**
     * cloudfunctions.projects.locations.functions.generateUploadUrl
     * @desc Returns a signed URL for uploading a function source code. For more
     * information about the signed URL usage see:
     * https://cloud.google.com/storage/docs/access-control/signed-urls Once the
     * function source code upload is complete, the used signed URL should be
     * provided in CreateFunction or UpdateFunction request as a reference to the
     * function source code.  When uploading source code to the generated signed
     * URL, please follow these restrictions:  * Source file type should be a zip
     * file. * Source file size should not exceed 100MB limit.  When making a HTTP
     * PUT request, these two headers need to be specified:  * `content-type:
     * application/zip` * `x-google-content-length-range: 0,104857600`
     * @alias cloudfunctions.projects.locations.functions.generateUploadUrl
     * @memberOf! ()
     *
     * @param {object} params Parameters for request
     * @param {string} params.parent The project and location in which the Google Cloud Storage signed URL should be generated, specified in the format `projects/x/locations/x`.
     * @param {().GenerateUploadUrlRequest} params.resource Request body data
     * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`.
     * @param {callback} callback The callback that handles the response.
     * @return {object} Request object
     */
    generateUploadUrl(params?: any, options?: MethodOptions): AxiosPromise<Schema$GenerateUploadUrlResponse>;
    generateUploadUrl(params?: any, options?: MethodOptions | BodyResponseCallback<Schema$GenerateUploadUrlResponse>, callback?: BodyResponseCallback<Schema$GenerateUploadUrlResponse>): void;
    /**
     * cloudfunctions.projects.locations.functions.get
     * @desc Returns a function with the given name from the requested project.
     * @alias cloudfunctions.projects.locations.functions.get
     * @memberOf! ()
     *
     * @param {object} params Parameters for request
     * @param {string} params.name The name of the function which details should be obtained.
     * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`.
     * @param {callback} callback The callback that handles the response.
     * @return {object} Request object
     */
    get(params?: any, options?: MethodOptions): AxiosPromise<Schema$CloudFunction>;
    get(params?: any, options?: MethodOptions | BodyResponseCallback<Schema$CloudFunction>, callback?: BodyResponseCallback<Schema$CloudFunction>): void;
    /**
     * cloudfunctions.projects.locations.functions.list
     * @desc Returns a list of functions that belong to the requested project.
     * @alias cloudfunctions.projects.locations.functions.list
     * @memberOf! ()
     *
     * @param {object} params Parameters for request
     * @param {string} params.location The project and location from which the function should be listed, specified in the format `projects/x/locations/x` If you want to list functions in all locations, use "-" in place of a location.
     * @param {integer=} params.pageSize Maximum number of functions to return per call.
     * @param {string=} params.pageToken The value returned by the last `ListFunctionsResponse`; indicates that this is a continuation of a prior `ListFunctions` call, and that the system should return the next page of data.
     * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`.
     * @param {callback} callback The callback that handles the response.
     * @return {object} Request object
     */
    list(params?: any, options?: MethodOptions): AxiosPromise<Schema$ListFunctionsResponse>;
    list(params?: any, options?: MethodOptions | BodyResponseCallback<Schema$ListFunctionsResponse>, callback?: BodyResponseCallback<Schema$ListFunctionsResponse>): void;
    /**
     * cloudfunctions.projects.locations.functions.update
     * @desc Updates existing function.
     * @alias cloudfunctions.projects.locations.functions.update
     * @memberOf! ()
     *
     * @param {object} params Parameters for request
     * @param {string} params.name The name of the function to be updated.
     * @param {().CloudFunction} params.resource Request body data
     * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`.
     * @param {callback} callback The callback that handles the response.
     * @return {object} Request object
     */
    update(params?: any, options?: MethodOptions): AxiosPromise<Schema$Operation>;
    update(params?: any, options?: MethodOptions | BodyResponseCallback<Schema$Operation>, callback?: BodyResponseCallback<Schema$Operation>): void;
}
