@google-cloud/contentwarehouse
Version:
Document AI Warehouse client for Node.js
833 lines • 54.8 kB
TypeScript
import type * as gax from 'google-gax';
import type { Callback, CallOptions, Descriptors, ClientOptions, PaginationCallback } from 'google-gax';
import { Transform } from 'stream';
import * as protos from '../../protos/protos';
/**
* This service lets you manage document.
* @class
* @memberof v1
*/
export declare class DocumentServiceClient {
private _terminated;
private _opts;
private _providedCustomServicePath;
private _gaxModule;
private _gaxGrpc;
private _protos;
private _defaults;
private _universeDomain;
private _servicePath;
private _log;
auth: gax.GoogleAuth;
descriptors: Descriptors;
warn: (code: string, message: string, warnType?: string) => void;
innerApiCalls: {
[name: string]: Function;
};
pathTemplates: {
[name: string]: gax.PathTemplate;
};
documentServiceStub?: Promise<{
[name: string]: Function;
}>;
/**
* Construct an instance of DocumentServiceClient.
*
* @param {object} [options] - The configuration object.
* The options accepted by the constructor are described in detail
* in [this document](https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#creating-the-client-instance).
* The common options are:
* @param {object} [options.credentials] - Credentials object.
* @param {string} [options.credentials.client_email]
* @param {string} [options.credentials.private_key]
* @param {string} [options.email] - Account email address. Required when
* using a .pem or .p12 keyFilename.
* @param {string} [options.keyFilename] - Full path to the a .json, .pem, or
* .p12 key downloaded from the Google Developers Console. If you provide
* a path to a JSON file, the projectId option below is not necessary.
* NOTE: .pem and .p12 require you to specify options.email as well.
* @param {number} [options.port] - The port on which to connect to
* the remote host.
* @param {string} [options.projectId] - The project ID from the Google
* Developer's Console, e.g. 'grape-spaceship-123'. We will also check
* the environment variable GCLOUD_PROJECT for your project ID. If your
* app is running in an environment which supports
* {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials},
* your project ID will be detected automatically.
* @param {string} [options.apiEndpoint] - The domain name of the
* API remote host.
* @param {gax.ClientConfig} [options.clientConfig] - Client configuration override.
* Follows the structure of {@link gapicConfig}.
* @param {boolean} [options.fallback] - Use HTTP/1.1 REST mode.
* For more information, please check the
* {@link https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#http11-rest-api-mode documentation}.
* @param {gax} [gaxInstance]: loaded instance of `google-gax`. Useful if you
* need to avoid loading the default gRPC version and want to use the fallback
* HTTP implementation. Load only fallback version and pass it to the constructor:
* ```
* const gax = require('google-gax/build/src/fallback'); // avoids loading google-gax with gRPC
* const client = new DocumentServiceClient({fallback: true}, gax);
* ```
*/
constructor(opts?: ClientOptions, gaxInstance?: typeof gax | typeof gax.fallback);
/**
* Initialize the client.
* Performs asynchronous operations (such as authentication) and prepares the client.
* This function will be called automatically when any class method is called for the
* first time, but if you need to initialize it before calling an actual method,
* feel free to call initialize() directly.
*
* You can await on this method if you want to make sure the client is initialized.
*
* @returns {Promise} A promise that resolves to an authenticated service stub.
*/
initialize(): Promise<{
[name: string]: Function;
}>;
/**
* The DNS address for this API service.
* @deprecated Use the apiEndpoint method of the client instance.
* @returns {string} The DNS address for this service.
*/
static get servicePath(): string;
/**
* The DNS address for this API service - same as servicePath.
* @deprecated Use the apiEndpoint method of the client instance.
* @returns {string} The DNS address for this service.
*/
static get apiEndpoint(): string;
/**
* The DNS address for this API service.
* @returns {string} The DNS address for this service.
*/
get apiEndpoint(): string;
get universeDomain(): string;
/**
* The port for this API service.
* @returns {number} The default port for this service.
*/
static get port(): number;
/**
* The scopes needed to make gRPC calls for every method defined
* in this service.
* @returns {string[]} List of default scopes.
*/
static get scopes(): string[];
getProjectId(): Promise<string>;
getProjectId(callback: Callback<string, undefined, undefined>): void;
/**
* Creates a document.
*
* @param {Object} request
* The request object that will be sent.
* @param {string} request.parent
* Required. The parent name.
* Format: projects/{project_number}/locations/{location}.
* @param {google.cloud.contentwarehouse.v1.Document} request.document
* Required. The document to create.
* @param {google.cloud.contentwarehouse.v1.RequestMetadata} request.requestMetadata
* The meta information collected about the end user, used to enforce access
* control for the service.
* @param {google.iam.v1.Policy} request.policy
* Default document policy during creation.
* This refers to an Identity and Access (IAM) policy, which specifies access
* controls for the Document.
* Conditions defined in the policy will be ignored.
* @param {google.cloud.contentwarehouse.v1.CloudAIDocumentOption} request.cloudAiDocumentOption
* Request Option for processing Cloud AI Document in Document Warehouse.
* This field offers limited support for mapping entities from Cloud AI
* Document to Warehouse Document. Please consult with product team before
* using this field and other available options.
* @param {google.protobuf.FieldMask} request.createMask
* Field mask for creating Document fields. If mask path is empty,
* it means all fields are masked.
* For the `FieldMask` definition,
* see
* https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask.
* @param {object} [options]
* Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
* @returns {Promise} - The promise which resolves to an array.
* The first element of the array is an object representing {@link protos.google.cloud.contentwarehouse.v1.CreateDocumentResponse|CreateDocumentResponse}.
* Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
* for more details and examples.
* @example <caption>include:samples/generated/v1/document_service.create_document.js</caption>
* region_tag:contentwarehouse_v1_generated_DocumentService_CreateDocument_async
*/
createDocument(request?: protos.google.cloud.contentwarehouse.v1.ICreateDocumentRequest, options?: CallOptions): Promise<[
protos.google.cloud.contentwarehouse.v1.ICreateDocumentResponse,
protos.google.cloud.contentwarehouse.v1.ICreateDocumentRequest | undefined,
{} | undefined
]>;
createDocument(request: protos.google.cloud.contentwarehouse.v1.ICreateDocumentRequest, options: CallOptions, callback: Callback<protos.google.cloud.contentwarehouse.v1.ICreateDocumentResponse, protos.google.cloud.contentwarehouse.v1.ICreateDocumentRequest | null | undefined, {} | null | undefined>): void;
createDocument(request: protos.google.cloud.contentwarehouse.v1.ICreateDocumentRequest, callback: Callback<protos.google.cloud.contentwarehouse.v1.ICreateDocumentResponse, protos.google.cloud.contentwarehouse.v1.ICreateDocumentRequest | null | undefined, {} | null | undefined>): void;
/**
* Gets a document. Returns NOT_FOUND if the document does not exist.
*
* @param {Object} request
* The request object that will be sent.
* @param {string} request.name
* Required. The name of the document to retrieve.
* Format:
* projects/{project_number}/locations/{location}/documents/{document_id} or
* projects/{project_number}/locations/{location}/documents/referenceId/{reference_id}.
* @param {google.cloud.contentwarehouse.v1.RequestMetadata} request.requestMetadata
* The meta information collected about the end user, used to enforce access
* control for the service.
* @param {object} [options]
* Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
* @returns {Promise} - The promise which resolves to an array.
* The first element of the array is an object representing {@link protos.google.cloud.contentwarehouse.v1.Document|Document}.
* Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
* for more details and examples.
* @example <caption>include:samples/generated/v1/document_service.get_document.js</caption>
* region_tag:contentwarehouse_v1_generated_DocumentService_GetDocument_async
*/
getDocument(request?: protos.google.cloud.contentwarehouse.v1.IGetDocumentRequest, options?: CallOptions): Promise<[
protos.google.cloud.contentwarehouse.v1.IDocument,
protos.google.cloud.contentwarehouse.v1.IGetDocumentRequest | undefined,
{} | undefined
]>;
getDocument(request: protos.google.cloud.contentwarehouse.v1.IGetDocumentRequest, options: CallOptions, callback: Callback<protos.google.cloud.contentwarehouse.v1.IDocument, protos.google.cloud.contentwarehouse.v1.IGetDocumentRequest | null | undefined, {} | null | undefined>): void;
getDocument(request: protos.google.cloud.contentwarehouse.v1.IGetDocumentRequest, callback: Callback<protos.google.cloud.contentwarehouse.v1.IDocument, protos.google.cloud.contentwarehouse.v1.IGetDocumentRequest | null | undefined, {} | null | undefined>): void;
/**
* Updates a document. Returns INVALID_ARGUMENT if the name of the document
* is non-empty and does not equal the existing name.
*
* @param {Object} request
* The request object that will be sent.
* @param {string} request.name
* Required. The name of the document to update.
* Format:
* projects/{project_number}/locations/{location}/documents/{document_id}
* or
* projects/{project_number}/locations/{location}/documents/referenceId/{reference_id}.
* @param {google.cloud.contentwarehouse.v1.Document} request.document
* Required. The document to update.
* @param {google.cloud.contentwarehouse.v1.RequestMetadata} request.requestMetadata
* The meta information collected about the end user, used to enforce access
* control for the service.
* @param {google.cloud.contentwarehouse.v1.CloudAIDocumentOption} request.cloudAiDocumentOption
* Request Option for processing Cloud AI Document in Document Warehouse.
* This field offers limited support for mapping entities from Cloud AI
* Document to Warehouse Document. Please consult with product team before
* using this field and other available options.
* @param {google.cloud.contentwarehouse.v1.UpdateOptions} request.updateOptions
* Options for the update operation.
* @param {object} [options]
* Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
* @returns {Promise} - The promise which resolves to an array.
* The first element of the array is an object representing {@link protos.google.cloud.contentwarehouse.v1.UpdateDocumentResponse|UpdateDocumentResponse}.
* Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
* for more details and examples.
* @example <caption>include:samples/generated/v1/document_service.update_document.js</caption>
* region_tag:contentwarehouse_v1_generated_DocumentService_UpdateDocument_async
*/
updateDocument(request?: protos.google.cloud.contentwarehouse.v1.IUpdateDocumentRequest, options?: CallOptions): Promise<[
protos.google.cloud.contentwarehouse.v1.IUpdateDocumentResponse,
protos.google.cloud.contentwarehouse.v1.IUpdateDocumentRequest | undefined,
{} | undefined
]>;
updateDocument(request: protos.google.cloud.contentwarehouse.v1.IUpdateDocumentRequest, options: CallOptions, callback: Callback<protos.google.cloud.contentwarehouse.v1.IUpdateDocumentResponse, protos.google.cloud.contentwarehouse.v1.IUpdateDocumentRequest | null | undefined, {} | null | undefined>): void;
updateDocument(request: protos.google.cloud.contentwarehouse.v1.IUpdateDocumentRequest, callback: Callback<protos.google.cloud.contentwarehouse.v1.IUpdateDocumentResponse, protos.google.cloud.contentwarehouse.v1.IUpdateDocumentRequest | null | undefined, {} | null | undefined>): void;
/**
* Deletes a document. Returns NOT_FOUND if the document does not exist.
*
* @param {Object} request
* The request object that will be sent.
* @param {string} request.name
* Required. The name of the document to delete.
* Format:
* projects/{project_number}/locations/{location}/documents/{document_id}
* or
* projects/{project_number}/locations/{location}/documents/referenceId/{reference_id}.
* @param {google.cloud.contentwarehouse.v1.RequestMetadata} request.requestMetadata
* The meta information collected about the end user, used to enforce access
* control for the service.
* @param {object} [options]
* Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
* @returns {Promise} - The promise which resolves to an array.
* The first element of the array is an object representing {@link protos.google.protobuf.Empty|Empty}.
* Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
* for more details and examples.
* @example <caption>include:samples/generated/v1/document_service.delete_document.js</caption>
* region_tag:contentwarehouse_v1_generated_DocumentService_DeleteDocument_async
*/
deleteDocument(request?: protos.google.cloud.contentwarehouse.v1.IDeleteDocumentRequest, options?: CallOptions): Promise<[
protos.google.protobuf.IEmpty,
protos.google.cloud.contentwarehouse.v1.IDeleteDocumentRequest | undefined,
{} | undefined
]>;
deleteDocument(request: protos.google.cloud.contentwarehouse.v1.IDeleteDocumentRequest, options: CallOptions, callback: Callback<protos.google.protobuf.IEmpty, protos.google.cloud.contentwarehouse.v1.IDeleteDocumentRequest | null | undefined, {} | null | undefined>): void;
deleteDocument(request: protos.google.cloud.contentwarehouse.v1.IDeleteDocumentRequest, callback: Callback<protos.google.protobuf.IEmpty, protos.google.cloud.contentwarehouse.v1.IDeleteDocumentRequest | null | undefined, {} | null | undefined>): void;
/**
* Lock the document so the document cannot be updated by other users.
*
* @param {Object} request
* The request object that will be sent.
* @param {string} request.name
* Required. The name of the document to lock.
* Format:
* projects/{project_number}/locations/{location}/documents/{document}.
* @param {string} request.collectionId
* The collection the document connects to.
* @param {google.cloud.contentwarehouse.v1.UserInfo} request.lockingUser
* The user information who locks the document.
* @param {object} [options]
* Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
* @returns {Promise} - The promise which resolves to an array.
* The first element of the array is an object representing {@link protos.google.cloud.contentwarehouse.v1.Document|Document}.
* Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
* for more details and examples.
* @example <caption>include:samples/generated/v1/document_service.lock_document.js</caption>
* region_tag:contentwarehouse_v1_generated_DocumentService_LockDocument_async
*/
lockDocument(request?: protos.google.cloud.contentwarehouse.v1.ILockDocumentRequest, options?: CallOptions): Promise<[
protos.google.cloud.contentwarehouse.v1.IDocument,
protos.google.cloud.contentwarehouse.v1.ILockDocumentRequest | undefined,
{} | undefined
]>;
lockDocument(request: protos.google.cloud.contentwarehouse.v1.ILockDocumentRequest, options: CallOptions, callback: Callback<protos.google.cloud.contentwarehouse.v1.IDocument, protos.google.cloud.contentwarehouse.v1.ILockDocumentRequest | null | undefined, {} | null | undefined>): void;
lockDocument(request: protos.google.cloud.contentwarehouse.v1.ILockDocumentRequest, callback: Callback<protos.google.cloud.contentwarehouse.v1.IDocument, protos.google.cloud.contentwarehouse.v1.ILockDocumentRequest | null | undefined, {} | null | undefined>): void;
/**
* Gets the access control policy for a resource. Returns NOT_FOUND error if
* the resource does not exist. Returns an empty policy if the resource exists
* but does not have a policy set.
*
* @param {Object} request
* The request object that will be sent.
* @param {string} request.resource
* Required. REQUIRED: The resource for which the policy is being requested.
* Format for document:
* projects/{project_number}/locations/{location}/documents/{document_id}.
* Format for collection:
* projects/{project_number}/locations/{location}/collections/{collection_id}.
* Format for project: projects/{project_number}.
* @param {google.cloud.contentwarehouse.v1.RequestMetadata} request.requestMetadata
* The meta information collected about the end user, used to enforce access
* control for the service.
* @param {boolean} request.projectOwner
* For Get Project ACL only. Authorization check for end user will be ignored
* when project_owner=true.
* @param {object} [options]
* Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
* @returns {Promise} - The promise which resolves to an array.
* The first element of the array is an object representing {@link protos.google.cloud.contentwarehouse.v1.FetchAclResponse|FetchAclResponse}.
* Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
* for more details and examples.
* @example <caption>include:samples/generated/v1/document_service.fetch_acl.js</caption>
* region_tag:contentwarehouse_v1_generated_DocumentService_FetchAcl_async
*/
fetchAcl(request?: protos.google.cloud.contentwarehouse.v1.IFetchAclRequest, options?: CallOptions): Promise<[
protos.google.cloud.contentwarehouse.v1.IFetchAclResponse,
protos.google.cloud.contentwarehouse.v1.IFetchAclRequest | undefined,
{} | undefined
]>;
fetchAcl(request: protos.google.cloud.contentwarehouse.v1.IFetchAclRequest, options: CallOptions, callback: Callback<protos.google.cloud.contentwarehouse.v1.IFetchAclResponse, protos.google.cloud.contentwarehouse.v1.IFetchAclRequest | null | undefined, {} | null | undefined>): void;
fetchAcl(request: protos.google.cloud.contentwarehouse.v1.IFetchAclRequest, callback: Callback<protos.google.cloud.contentwarehouse.v1.IFetchAclResponse, protos.google.cloud.contentwarehouse.v1.IFetchAclRequest | null | undefined, {} | null | undefined>): void;
/**
* Sets the access control policy for a resource. Replaces any existing
* policy.
*
* @param {Object} request
* The request object that will be sent.
* @param {string} request.resource
* Required. REQUIRED: The resource for which the policy is being requested.
* Format for document:
* projects/{project_number}/locations/{location}/documents/{document_id}.
* Format for collection:
* projects/{project_number}/locations/{location}/collections/{collection_id}.
* Format for project: projects/{project_number}.
* @param {google.iam.v1.Policy} request.policy
* Required. REQUIRED: The complete policy to be applied to the `resource`.
* The size of the policy is limited to a few 10s of KB. This refers to an
* Identity and Access (IAM) policy, which specifies access controls for the
* Document.
*
* You can set ACL with condition for projects only.
*
* Supported operators are: `=`, `!=`, `<`, `<=`, `>`, and `>=` where
* the left of the operator is `DocumentSchemaId` or property name and the
* right of the operator is a number or a quoted string. You must escape
* backslash (\\) and quote (\") characters.
*
* Boolean expressions (AND/OR) are supported up to 3 levels of nesting (for
* example, "((A AND B AND C) OR D) AND E"), a maximum of 10 comparisons are
* allowed in the expression. The expression must be < 6000 bytes in length.
*
* Sample condition:
* `"DocumentSchemaId = \"some schema id\" OR SchemaId.floatPropertyName
* >= 10"`
* @param {google.cloud.contentwarehouse.v1.RequestMetadata} request.requestMetadata
* The meta information collected about the end user, used to enforce access
* control for the service.
* @param {boolean} request.projectOwner
* For Set Project ACL only. Authorization check for end user will be ignored
* when project_owner=true.
* @param {object} [options]
* Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
* @returns {Promise} - The promise which resolves to an array.
* The first element of the array is an object representing {@link protos.google.cloud.contentwarehouse.v1.SetAclResponse|SetAclResponse}.
* Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
* for more details and examples.
* @example <caption>include:samples/generated/v1/document_service.set_acl.js</caption>
* region_tag:contentwarehouse_v1_generated_DocumentService_SetAcl_async
*/
setAcl(request?: protos.google.cloud.contentwarehouse.v1.ISetAclRequest, options?: CallOptions): Promise<[
protos.google.cloud.contentwarehouse.v1.ISetAclResponse,
protos.google.cloud.contentwarehouse.v1.ISetAclRequest | undefined,
{} | undefined
]>;
setAcl(request: protos.google.cloud.contentwarehouse.v1.ISetAclRequest, options: CallOptions, callback: Callback<protos.google.cloud.contentwarehouse.v1.ISetAclResponse, protos.google.cloud.contentwarehouse.v1.ISetAclRequest | null | undefined, {} | null | undefined>): void;
setAcl(request: protos.google.cloud.contentwarehouse.v1.ISetAclRequest, callback: Callback<protos.google.cloud.contentwarehouse.v1.ISetAclResponse, protos.google.cloud.contentwarehouse.v1.ISetAclRequest | null | undefined, {} | null | undefined>): void;
/**
* Searches for documents using provided
* {@link protos.google.cloud.contentwarehouse.v1.SearchDocumentsRequest|SearchDocumentsRequest}.
* This call only returns documents that the caller has permission to search
* against.
*
* @param {Object} request
* The request object that will be sent.
* @param {string} request.parent
* Required. The parent, which owns this collection of documents.
* Format: projects/{project_number}/locations/{location}.
* @param {google.cloud.contentwarehouse.v1.RequestMetadata} request.requestMetadata
* The meta information collected about the end user, used to enforce access
* control and improve the search quality of the service.
* @param {google.cloud.contentwarehouse.v1.DocumentQuery} request.documentQuery
* Query used to search against documents (keyword, filters, etc.).
* @param {number} request.offset
* An integer that specifies the current offset (that is, starting result
* location, amongst the documents deemed by the API as relevant) in search
* results. This field is only considered if
* {@link protos.google.cloud.contentwarehouse.v1.SearchDocumentsRequest.page_token|page_token}
* is unset.
*
* The maximum allowed value is 5000. Otherwise an error is thrown.
*
* For example, 0 means to return results starting from the first matching
* document, and 10 means to return from the 11th document. This can be used
* for pagination, (for example, pageSize = 10 and offset = 10 means to return
* from the second page).
* @param {number} request.pageSize
* A limit on the number of documents returned in the search results.
* Increasing this value above the default value of 10 can increase search
* response time. The value can be between 1 and 100.
* @param {string} request.pageToken
* The token specifying the current offset within search results.
* See
* {@link protos.google.cloud.contentwarehouse.v1.SearchDocumentsResponse.next_page_token|SearchDocumentsResponse.next_page_token}
* for an explanation of how to obtain the next set of query results.
* @param {string} request.orderBy
* The criteria determining how search results are sorted. For non-empty
* query, default is `"relevance desc"`. For empty query, default is
* `"upload_date desc"`.
*
* Supported options are:
*
* * `"relevance desc"`: By relevance descending, as determined by the API
* algorithms.
* * `"upload_date desc"`: By upload date descending.
* * `"upload_date"`: By upload date ascending.
* * `"update_date desc"`: By last updated date descending.
* * `"update_date"`: By last updated date ascending.
* * `"retrieval_importance desc"`: By retrieval importance of properties
* descending. This feature is still under development, please do not use
* unless otherwise instructed to do so.
* @param {number[]} request.histogramQueries
* An expression specifying a histogram request against matching
* documents. Expression syntax is an aggregation function call with
* histogram facets and other options.
*
* The following aggregation functions are supported:
*
* * `count(string_histogram_facet)`: Count the number of matching entities
* for each distinct attribute value.
*
* Data types:
*
* * Histogram facet (aka filterable properties): Facet names with format
* <schema id>.<facet>. Facets will have the
* format of: `{@link protos.a-zA-Z0-9_:/-.|a-zA-Z}`. If the facet is a child
* facet, then the parent hierarchy needs to be specified separated by
* dots in the prefix after the schema id. Thus, the format for a multi-
* level facet is: <schema id>.<parent facet name>.
* <child facet name>. Example:
* schema123.root_parent_facet.middle_facet.child_facet
* * DocumentSchemaId: (with no schema id prefix) to get
* histograms for each document type (returns the schema id path, e.g.
* projects/12345/locations/us-west/documentSchemas/abc123).
*
* Example expression:
*
* * Document type counts:
* count('DocumentSchemaId')
*
* * For schema id, abc123, get the counts for MORTGAGE_TYPE:
* count('abc123.MORTGAGE_TYPE')
* @param {boolean} request.requireTotalSize
* Controls if the search document request requires the return of a total size
* of matched documents. See
* {@link protos.google.cloud.contentwarehouse.v1.SearchDocumentsResponse.total_size|SearchDocumentsResponse.total_size}.
*
* Enabling this flag may adversely impact performance. Hint: If this is
* used with pagination, set this flag on the initial query but set this
* to false on subsequent page calls (keep the total count locally).
*
* Defaults to false.
* @param {google.cloud.contentwarehouse.v1.SearchDocumentsRequest.TotalResultSize} request.totalResultSize
* Controls if the search document request requires the return of a total size
* of matched documents. See
* {@link protos.google.cloud.contentwarehouse.v1.SearchDocumentsResponse.total_size|SearchDocumentsResponse.total_size}.
* @param {number} request.qaSizeLimit
* Experimental, do not use.
* The limit on the number of documents returned for the question-answering
* feature. To enable the question-answering feature, set
* {@link protos.|DocumentQuery].[is_nl_query} to true.
* @param {object} [options]
* Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
* @returns {Promise} - The promise which resolves to an array.
* The first element of the array is Array of {@link protos.google.cloud.contentwarehouse.v1.SearchDocumentsResponse.MatchingDocument|MatchingDocument}.
* The client library will perform auto-pagination by default: it will call the API as many
* times as needed and will merge results from all the pages into this array.
* Note that it can affect your quota.
* We recommend using `searchDocumentsAsync()`
* method described below for async iteration which you can stop as needed.
* Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
* for more details and examples.
*/
searchDocuments(request?: protos.google.cloud.contentwarehouse.v1.ISearchDocumentsRequest, options?: CallOptions): Promise<[
protos.google.cloud.contentwarehouse.v1.SearchDocumentsResponse.IMatchingDocument[],
protos.google.cloud.contentwarehouse.v1.ISearchDocumentsRequest | null,
protos.google.cloud.contentwarehouse.v1.ISearchDocumentsResponse
]>;
searchDocuments(request: protos.google.cloud.contentwarehouse.v1.ISearchDocumentsRequest, options: CallOptions, callback: PaginationCallback<protos.google.cloud.contentwarehouse.v1.ISearchDocumentsRequest, protos.google.cloud.contentwarehouse.v1.ISearchDocumentsResponse | null | undefined, protos.google.cloud.contentwarehouse.v1.SearchDocumentsResponse.IMatchingDocument>): void;
searchDocuments(request: protos.google.cloud.contentwarehouse.v1.ISearchDocumentsRequest, callback: PaginationCallback<protos.google.cloud.contentwarehouse.v1.ISearchDocumentsRequest, protos.google.cloud.contentwarehouse.v1.ISearchDocumentsResponse | null | undefined, protos.google.cloud.contentwarehouse.v1.SearchDocumentsResponse.IMatchingDocument>): void;
/**
* Equivalent to `searchDocuments`, but returns a NodeJS Stream object.
* @param {Object} request
* The request object that will be sent.
* @param {string} request.parent
* Required. The parent, which owns this collection of documents.
* Format: projects/{project_number}/locations/{location}.
* @param {google.cloud.contentwarehouse.v1.RequestMetadata} request.requestMetadata
* The meta information collected about the end user, used to enforce access
* control and improve the search quality of the service.
* @param {google.cloud.contentwarehouse.v1.DocumentQuery} request.documentQuery
* Query used to search against documents (keyword, filters, etc.).
* @param {number} request.offset
* An integer that specifies the current offset (that is, starting result
* location, amongst the documents deemed by the API as relevant) in search
* results. This field is only considered if
* {@link protos.google.cloud.contentwarehouse.v1.SearchDocumentsRequest.page_token|page_token}
* is unset.
*
* The maximum allowed value is 5000. Otherwise an error is thrown.
*
* For example, 0 means to return results starting from the first matching
* document, and 10 means to return from the 11th document. This can be used
* for pagination, (for example, pageSize = 10 and offset = 10 means to return
* from the second page).
* @param {number} request.pageSize
* A limit on the number of documents returned in the search results.
* Increasing this value above the default value of 10 can increase search
* response time. The value can be between 1 and 100.
* @param {string} request.pageToken
* The token specifying the current offset within search results.
* See
* {@link protos.google.cloud.contentwarehouse.v1.SearchDocumentsResponse.next_page_token|SearchDocumentsResponse.next_page_token}
* for an explanation of how to obtain the next set of query results.
* @param {string} request.orderBy
* The criteria determining how search results are sorted. For non-empty
* query, default is `"relevance desc"`. For empty query, default is
* `"upload_date desc"`.
*
* Supported options are:
*
* * `"relevance desc"`: By relevance descending, as determined by the API
* algorithms.
* * `"upload_date desc"`: By upload date descending.
* * `"upload_date"`: By upload date ascending.
* * `"update_date desc"`: By last updated date descending.
* * `"update_date"`: By last updated date ascending.
* * `"retrieval_importance desc"`: By retrieval importance of properties
* descending. This feature is still under development, please do not use
* unless otherwise instructed to do so.
* @param {number[]} request.histogramQueries
* An expression specifying a histogram request against matching
* documents. Expression syntax is an aggregation function call with
* histogram facets and other options.
*
* The following aggregation functions are supported:
*
* * `count(string_histogram_facet)`: Count the number of matching entities
* for each distinct attribute value.
*
* Data types:
*
* * Histogram facet (aka filterable properties): Facet names with format
* <schema id>.<facet>. Facets will have the
* format of: `{@link protos.a-zA-Z0-9_:/-.|a-zA-Z}`. If the facet is a child
* facet, then the parent hierarchy needs to be specified separated by
* dots in the prefix after the schema id. Thus, the format for a multi-
* level facet is: <schema id>.<parent facet name>.
* <child facet name>. Example:
* schema123.root_parent_facet.middle_facet.child_facet
* * DocumentSchemaId: (with no schema id prefix) to get
* histograms for each document type (returns the schema id path, e.g.
* projects/12345/locations/us-west/documentSchemas/abc123).
*
* Example expression:
*
* * Document type counts:
* count('DocumentSchemaId')
*
* * For schema id, abc123, get the counts for MORTGAGE_TYPE:
* count('abc123.MORTGAGE_TYPE')
* @param {boolean} request.requireTotalSize
* Controls if the search document request requires the return of a total size
* of matched documents. See
* {@link protos.google.cloud.contentwarehouse.v1.SearchDocumentsResponse.total_size|SearchDocumentsResponse.total_size}.
*
* Enabling this flag may adversely impact performance. Hint: If this is
* used with pagination, set this flag on the initial query but set this
* to false on subsequent page calls (keep the total count locally).
*
* Defaults to false.
* @param {google.cloud.contentwarehouse.v1.SearchDocumentsRequest.TotalResultSize} request.totalResultSize
* Controls if the search document request requires the return of a total size
* of matched documents. See
* {@link protos.google.cloud.contentwarehouse.v1.SearchDocumentsResponse.total_size|SearchDocumentsResponse.total_size}.
* @param {number} request.qaSizeLimit
* Experimental, do not use.
* The limit on the number of documents returned for the question-answering
* feature. To enable the question-answering feature, set
* {@link protos.|DocumentQuery].[is_nl_query} to true.
* @param {object} [options]
* Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
* @returns {Stream}
* An object stream which emits an object representing {@link protos.google.cloud.contentwarehouse.v1.SearchDocumentsResponse.MatchingDocument|MatchingDocument} on 'data' event.
* The client library will perform auto-pagination by default: it will call the API as many
* times as needed. Note that it can affect your quota.
* We recommend using `searchDocumentsAsync()`
* method described below for async iteration which you can stop as needed.
* Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
* for more details and examples.
*/
searchDocumentsStream(request?: protos.google.cloud.contentwarehouse.v1.ISearchDocumentsRequest, options?: CallOptions): Transform;
/**
* Equivalent to `searchDocuments`, but returns an iterable object.
*
* `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand.
* @param {Object} request
* The request object that will be sent.
* @param {string} request.parent
* Required. The parent, which owns this collection of documents.
* Format: projects/{project_number}/locations/{location}.
* @param {google.cloud.contentwarehouse.v1.RequestMetadata} request.requestMetadata
* The meta information collected about the end user, used to enforce access
* control and improve the search quality of the service.
* @param {google.cloud.contentwarehouse.v1.DocumentQuery} request.documentQuery
* Query used to search against documents (keyword, filters, etc.).
* @param {number} request.offset
* An integer that specifies the current offset (that is, starting result
* location, amongst the documents deemed by the API as relevant) in search
* results. This field is only considered if
* {@link protos.google.cloud.contentwarehouse.v1.SearchDocumentsRequest.page_token|page_token}
* is unset.
*
* The maximum allowed value is 5000. Otherwise an error is thrown.
*
* For example, 0 means to return results starting from the first matching
* document, and 10 means to return from the 11th document. This can be used
* for pagination, (for example, pageSize = 10 and offset = 10 means to return
* from the second page).
* @param {number} request.pageSize
* A limit on the number of documents returned in the search results.
* Increasing this value above the default value of 10 can increase search
* response time. The value can be between 1 and 100.
* @param {string} request.pageToken
* The token specifying the current offset within search results.
* See
* {@link protos.google.cloud.contentwarehouse.v1.SearchDocumentsResponse.next_page_token|SearchDocumentsResponse.next_page_token}
* for an explanation of how to obtain the next set of query results.
* @param {string} request.orderBy
* The criteria determining how search results are sorted. For non-empty
* query, default is `"relevance desc"`. For empty query, default is
* `"upload_date desc"`.
*
* Supported options are:
*
* * `"relevance desc"`: By relevance descending, as determined by the API
* algorithms.
* * `"upload_date desc"`: By upload date descending.
* * `"upload_date"`: By upload date ascending.
* * `"update_date desc"`: By last updated date descending.
* * `"update_date"`: By last updated date ascending.
* * `"retrieval_importance desc"`: By retrieval importance of properties
* descending. This feature is still under development, please do not use
* unless otherwise instructed to do so.
* @param {number[]} request.histogramQueries
* An expression specifying a histogram request against matching
* documents. Expression syntax is an aggregation function call with
* histogram facets and other options.
*
* The following aggregation functions are supported:
*
* * `count(string_histogram_facet)`: Count the number of matching entities
* for each distinct attribute value.
*
* Data types:
*
* * Histogram facet (aka filterable properties): Facet names with format
* <schema id>.<facet>. Facets will have the
* format of: `{@link protos.a-zA-Z0-9_:/-.|a-zA-Z}`. If the facet is a child
* facet, then the parent hierarchy needs to be specified separated by
* dots in the prefix after the schema id. Thus, the format for a multi-
* level facet is: <schema id>.<parent facet name>.
* <child facet name>. Example:
* schema123.root_parent_facet.middle_facet.child_facet
* * DocumentSchemaId: (with no schema id prefix) to get
* histograms for each document type (returns the schema id path, e.g.
* projects/12345/locations/us-west/documentSchemas/abc123).
*
* Example expression:
*
* * Document type counts:
* count('DocumentSchemaId')
*
* * For schema id, abc123, get the counts for MORTGAGE_TYPE:
* count('abc123.MORTGAGE_TYPE')
* @param {boolean} request.requireTotalSize
* Controls if the search document request requires the return of a total size
* of matched documents. See
* {@link protos.google.cloud.contentwarehouse.v1.SearchDocumentsResponse.total_size|SearchDocumentsResponse.total_size}.
*
* Enabling this flag may adversely impact performance. Hint: If this is
* used with pagination, set this flag on the initial query but set this
* to false on subsequent page calls (keep the total count locally).
*
* Defaults to false.
* @param {google.cloud.contentwarehouse.v1.SearchDocumentsRequest.TotalResultSize} request.totalResultSize
* Controls if the search document request requires the return of a total size
* of matched documents. See
* {@link protos.google.cloud.contentwarehouse.v1.SearchDocumentsResponse.total_size|SearchDocumentsResponse.total_size}.
* @param {number} request.qaSizeLimit
* Experimental, do not use.
* The limit on the number of documents returned for the question-answering
* feature. To enable the question-answering feature, set
* {@link protos.|DocumentQuery].[is_nl_query} to true.
* @param {object} [options]
* Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
* @returns {Object}
* An iterable Object that allows {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }.
* When you iterate the returned iterable, each element will be an object representing
* {@link protos.google.cloud.contentwarehouse.v1.SearchDocumentsResponse.MatchingDocument|MatchingDocument}. The API will be called under the hood as needed, once per the page,
* so you can stop the iteration when you don't need more results.
* Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
* for more details and examples.
* @example <caption>include:samples/generated/v1/document_service.search_documents.js</caption>
* region_tag:contentwarehouse_v1_generated_DocumentService_SearchDocuments_async
*/
searchDocumentsAsync(request?: protos.google.cloud.contentwarehouse.v1.ISearchDocumentsRequest, options?: CallOptions): AsyncIterable<protos.google.cloud.contentwarehouse.v1.SearchDocumentsResponse.IMatchingDocument>;
/**
* Return a fully-qualified documentLink resource name string.
*
* @param {string} project
* @param {string} location
* @param {string} document
* @param {string} document_link
* @returns {string} Resource name string.
*/
documentLinkPath(project: string, location: string, document: string, documentLink: string): string;
/**
* Parse the project from DocumentLink resource.
*
* @param {string} documentLinkName
* A fully-qualified path representing DocumentLink resource.
* @returns {string} A string representing the project.
*/
matchProjectFromDocumentLinkName(documentLinkName: string): string | number;
/**
* Parse the location from DocumentLink resource.
*
* @param {string} documentLinkName
* A fully-qualified path representing DocumentLink resource.
* @returns {string} A string representing the location.
*/
matchLocationFromDocumentLinkName(documentLinkName: string): string | number;
/**
* Parse the document from DocumentLink resource.
*
* @param {string} documentLinkName
* A fully-qualified path representing DocumentLink resource.
* @returns {string} A string representing the document.
*/
matchDocumentFromDocumentLinkName(documentLinkName: string): string | number;
/**
* Parse the document_link from DocumentLink resource.
*
* @param {string} documentLinkName
* A fully-qualified path representing DocumentLink resource.
* @returns {string} A string representing the document_link.
*/
matchDocumentLinkFromDocumentLinkName(documentLinkName: string): string | number;
/**
* Return a fully-qualified documentSchema resource name string.
*
* @param {string} project
* @param {string} location
* @param {string} document_schema
* @returns {string} Resource name string.
*/
documentSchemaPath(project: string, location: string, documentSchema: string): string;
/**
* Parse the project from DocumentSchema resource.
*
* @param {string} documentSchemaName
* A fully-qualified path representing DocumentSchema resource.
* @returns {string} A string representing the project.
*/
matchProjectFromDocumentSchemaName(documentSchemaName: string): string | number;
/**
* Parse the location from DocumentSchema resource.
*
* @param {string} documentSchemaName
* A fully-qualified path representing DocumentSchema resource.
* @returns {string} A string representing the location.
*/
matchLocationFromDocumentSchemaName(documentSchemaName: string): string | number;
/**
* Parse the document_schema from DocumentSchema resource.
*
* @param {string} documentSchemaName
* A fully-qualified path representing DocumentSchema resource.
* @returns {string} A string representing the document_schema.
*/
matchDocumentSchemaFromDocumentSchemaName(documentSchemaName: string): string | number;
/**
* Return a fully-qualified projectLocationDocument resource name string.
*
* @param {string} project
* @param {string} location
* @param {string} document
* @returns {string} Resource name string.
*/
projectLocationDocumentPath(project: string, location: string, document: string): string;
/**
* Parse the project from ProjectLocationDocument resource.
*
* @param {string} projectLocationDocumentName
* A fully-qualified path representing project_location_document resource.
* @returns {string} A string representing the project.
*/
matchProjectFromProjectLocationDocumentName(projectLocationDocumentName: string): string | number;
/**
* Parse the location from ProjectLocationDocument resource.
*
* @param {string} projectLocationDocumentName
* A fully-qualified path representing project_location_document resource.
* @returns {string} A string representing the location.
*/
matchLocationFromProjectLocationDocumentName(projectLocationDocumentName: string): string | number;
/**
* Parse the doc