Back to Google Cloud Node

Firestore.Api

handwritten/firestore/api-report/firestore.api.md

0.57.0177.6 KB
Original Source

API Report File for "@google-cloud/firestore"

Do not edit this file. It is a report generated by API Extractor.

ts

import { Duplex } from 'stream';
import * as firestore from '@google-cloud/firestore';
import { google } from '../protos/firestore_v1_proto_api';
import { google as google_2 } from '../../protos/firestore_v1_proto_api';
import { GoogleError } from 'google-gax';
import * as proto from '../protos/firestore_v1_proto_api';
import * as protos from '../../protos/firestore_v1_proto_api';
import { Readable } from 'stream';
import { Span as Span_2 } from '@opentelemetry/api';

// @beta
function abs(expr: Expression): FunctionExpression;

// @beta
function abs(fieldName: string): FunctionExpression;

// @beta
function add(first: Expression, second: Expression | unknown): FunctionExpression;

// @beta
function add(fieldName: string, second: Expression | unknown): FunctionExpression;

// @public
export class Aggregate {
    constructor(alias: string, aggregateType: AggregateType, fieldPath?: (string | FieldPath) | undefined);
    // (undocumented)
    readonly aggregateType: AggregateType;
    // (undocumented)
    readonly alias: string;
    // (undocumented)
    readonly fieldPath?: (string | FieldPath) | undefined;
    // @internal
    toProto(): IAggregation;
}

// @public
export class AggregateField<T> implements firestore.AggregateField<T> {
    // (undocumented)
    readonly aggregateType: AggregateType;
    static average(field: string | FieldPath): AggregateField<number | null>;
    static count(): AggregateField<number>;
    // @internal
    readonly _field?: string | FieldPath;
    isEqual(other: AggregateField<T>): boolean;
    static sum(field: string | FieldPath): AggregateField<number>;
    readonly type = "AggregateField";
}

// @public
export type AggregateFieldType = ReturnType<typeof AggregateField.count> | ReturnType<typeof AggregateField.sum> | ReturnType<typeof AggregateField.average>;

// Warning: (ae-forgotten-export) The symbol "HasUserData" needs to be exported by the entry point index.d.ts
//
// @beta
class AggregateFunction implements AggregateFunction, HasUserData {
    constructor(name: string, params: Expression[]);
    as(name: string): AliasedAggregate;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    _createdFromLiteral: boolean;
    // (undocumented)
    expressionType: firestore.Pipelines.ExpressionType;
    // (undocumented)
    _protoValueType: "ProtoValue";
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    // Warning: (ae-forgotten-export) The symbol "Serializer" needs to be exported by the entry point index.d.ts
    //
    // (undocumented)
    _toProto(serializer: Serializer): api.IValue;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // (undocumented)
    _validateUserData(ignoreUndefinedProperties: boolean): void;
}

// @public
export class AggregateQuery<AggregateSpecType extends AggregateSpec, AppModelType = firestore.DocumentData, DbModelType extends firestore.DocumentData = firestore.DocumentData> implements firestore.AggregateQuery<AggregateSpecType, AppModelType, DbModelType> {
    // @internal
    constructor(_query: Query<AppModelType, DbModelType>, _aggregates: AggregateSpecType);
    explain(options?: firestore.ExplainOptions): Promise<ExplainResults<AggregateQuerySnapshot<AggregateSpecType, AppModelType, DbModelType>>>;
    get(): Promise<AggregateQuerySnapshot<AggregateSpecType, AppModelType, DbModelType>>;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    // Warning: (ae-forgotten-export) The symbol "QuerySnapshotResponse" needs to be exported by the entry point index.d.ts
    //
    // @internal
    _get(transactionOrReadTime?: Uint8Array | Timestamp | api.ITransactionOptions): Promise<QuerySnapshotResponse<AggregateQuerySnapshot<AggregateSpecType, AppModelType, DbModelType>>>;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    // Warning: (ae-forgotten-export) The symbol "QueryResponse" needs to be exported by the entry point index.d.ts
    //
    // @internal
    _getResponse(transactionOrReadTime?: Uint8Array | Timestamp | api.ITransactionOptions, explainOptions?: firestore.ExplainOptions): Promise<QueryResponse<AggregateQuerySnapshot<AggregateSpecType, AppModelType, DbModelType>>>;
    isEqual(other: firestore.AggregateQuery<AggregateSpecType, AppModelType, DbModelType>): boolean;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // @internal (undocumented)
    _pipeline(): Pipeline;
    get query(): Query<AppModelType, DbModelType>;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // @internal
    _stream(transactionOrReadTime?: Uint8Array | Timestamp | api.ITransactionOptions, explainOptions?: firestore.ExplainOptions): Readable;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // @internal
    toProto(transactionOrReadTime?: Uint8Array | Timestamp | api.ITransactionOptions, explainOptions?: firestore.ExplainOptions): api.IRunAggregationQueryRequest;
}

// @public
export class AggregateQuerySnapshot<AggregateSpecType extends firestore.AggregateSpec, AppModelType = firestore.DocumentData, DbModelType extends firestore.DocumentData = firestore.DocumentData> implements firestore.AggregateQuerySnapshot<AggregateSpecType, AppModelType, DbModelType> {
    // @internal
    constructor(_query: AggregateQuery<AggregateSpecType, AppModelType, DbModelType>, _readTime: Timestamp, _data: firestore.AggregateSpecData<AggregateSpecType>);
    data(): firestore.AggregateSpecData<AggregateSpecType>;
    isEqual(other: firestore.AggregateQuerySnapshot<AggregateSpecType, AppModelType, DbModelType>): boolean;
    get query(): AggregateQuery<AggregateSpecType, AppModelType, DbModelType>;
    get readTime(): Timestamp;
}

// @public
export interface AggregateSpec {
    // (undocumented)
    [field: string]: AggregateFieldType;
}

// @public
export type AggregateType = 'count' | 'avg' | 'sum';

// @beta
class AliasedAggregate implements AliasedAggregate, HasUserData {
    constructor(_aggregate: AggregateFunction, _alias: string);
    // (undocumented)
    readonly _aggregate: AggregateFunction;
    // (undocumented)
    readonly _alias: string;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    _createdFromLiteral: boolean;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // (undocumented)
    _validateUserData(ignoreUndefinedProperties: boolean): void;
}

// @beta
class AliasedExpression implements firestore.Pipelines.Selectable, HasUserData {
    constructor(_expr: Expression, _alias: string);
    // (undocumented)
    readonly _alias: string;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    _createdFromLiteral: boolean;
    // (undocumented)
    readonly _expr: Expression;
    // (undocumented)
    expressionType: firestore.Pipelines.ExpressionType;
    // (undocumented)
    selectable: true;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // (undocumented)
    _validateUserData(ignoreUndefinedProperties: boolean): void;
}

// @beta
function and(first: BooleanExpression, second: BooleanExpression, ...more: BooleanExpression[]): BooleanExpression;

// @beta
function array(elements: unknown[]): FunctionExpression;

// @beta
function arrayAgg(expression: Expression): AggregateFunction;

// @beta
function arrayAgg(fieldName: string): AggregateFunction;

// @beta
function arrayAggDistinct(expression: Expression): AggregateFunction;

// @beta
function arrayAggDistinct(fieldName: string): AggregateFunction;

// @beta
function arrayConcat(firstArray: Expression, secondArray: Expression | unknown[], ...otherArrays: Array<Expression | unknown[]>): FunctionExpression;

// @beta
function arrayConcat(firstArrayField: string, secondArray: Expression | unknown[], ...otherArrays: Array<Expression | unknown[]>): FunctionExpression;

// @beta
function arrayContains(array: Expression, element: Expression): BooleanExpression;

// @beta
function arrayContains(array: Expression, element: unknown): BooleanExpression;

// @beta
function arrayContains(fieldName: string, element: Expression): BooleanExpression;

// @beta
function arrayContains(fieldName: string, element: unknown): BooleanExpression;

// @beta
function arrayContainsAll(array: Expression, values: Array<Expression | unknown>): BooleanExpression;

// @beta
function arrayContainsAll(fieldName: string, values: Array<Expression | unknown>): BooleanExpression;

// @beta
function arrayContainsAll(array: Expression, arrayExpression: Expression): BooleanExpression;

// @beta
function arrayContainsAll(fieldName: string, arrayExpression: Expression): BooleanExpression;

// @beta
function arrayContainsAny(array: Expression, values: Array<Expression | unknown>): BooleanExpression;

// @beta
function arrayContainsAny(fieldName: string, values: Array<Expression | unknown>): BooleanExpression;

// @beta
function arrayContainsAny(array: Expression, values: Expression): BooleanExpression;

// @beta
function arrayContainsAny(fieldName: string, values: Expression): BooleanExpression;

// @beta
function arrayFirst(fieldName: string): FunctionExpression;

// @beta
function arrayFirst(arrayExpression: Expression): FunctionExpression;

// @beta
function arrayFirstN(fieldName: string, n: number): FunctionExpression;

// @beta
function arrayFirstN(fieldName: string, n: Expression): FunctionExpression;

// @beta
function arrayFirstN(arrayExpression: Expression, n: number): FunctionExpression;

// @beta
function arrayFirstN(arrayExpression: Expression, n: Expression): FunctionExpression;

// @beta
function arrayGet(arrayField: string, index: number): FunctionExpression;

// @beta
function arrayGet(arrayField: string, indexExpr: Expression): FunctionExpression;

// @beta
function arrayGet(arrayExpression: Expression, index: number): FunctionExpression;

// @beta
function arrayGet(arrayExpression: Expression, indexExpr: Expression): FunctionExpression;

// @beta
function arrayIndexOf(fieldName: string, search: unknown | Expression): FunctionExpression;

// @beta
function arrayIndexOf(arrayExpression: Expression, search: unknown | Expression): FunctionExpression;

// @beta
function arrayIndexOfAll(fieldName: string, search: unknown | Expression): FunctionExpression;

// @beta
function arrayIndexOfAll(arrayExpression: Expression, search: unknown | Expression): FunctionExpression;

// @beta
function arrayLast(fieldName: string): FunctionExpression;

// @beta
function arrayLast(arrayExpression: Expression): FunctionExpression;

// @beta
function arrayLastIndexOf(fieldName: string, search: unknown | Expression): FunctionExpression;

// @beta
function arrayLastIndexOf(arrayExpression: Expression, search: unknown | Expression): FunctionExpression;

// @beta
function arrayLastN(fieldName: string, n: number): FunctionExpression;

// @beta
function arrayLastN(fieldName: string, n: Expression): FunctionExpression;

// @beta
function arrayLastN(arrayExpression: Expression, n: number): FunctionExpression;

// @beta
function arrayLastN(arrayExpression: Expression, n: Expression): FunctionExpression;

// @beta
function arrayLength(fieldName: string): FunctionExpression;

// @beta
function arrayLength(array: Expression): FunctionExpression;

// @beta
function arrayMaximum(fieldName: string): FunctionExpression;

// @beta
function arrayMaximum(arrayExpression: Expression): FunctionExpression;

// @beta
function arrayMaximumN(fieldName: string, n: number): FunctionExpression;

// @beta
function arrayMaximumN(fieldName: string, n: Expression): FunctionExpression;

// @beta
function arrayMaximumN(arrayExpression: Expression, n: number): FunctionExpression;

// @beta
function arrayMaximumN(arrayExpression: Expression, n: Expression): FunctionExpression;

// @beta
function arrayMinimum(fieldName: string): FunctionExpression;

// @beta
function arrayMinimum(arrayExpression: Expression): FunctionExpression;

// @beta
function arrayMinimumN(fieldName: string, n: number): FunctionExpression;

// @beta
function arrayMinimumN(fieldName: string, n: Expression): FunctionExpression;

// @beta
function arrayMinimumN(arrayExpression: Expression, n: number): FunctionExpression;

// @beta
function arrayMinimumN(arrayExpression: Expression, n: Expression): FunctionExpression;

// @beta
function arrayReverse(fieldName: string): FunctionExpression;

// @beta
function arrayReverse(arrayExpression: Expression): FunctionExpression;

// @beta
function arraySum(fieldName: string): FunctionExpression;

// @beta
function arraySum(expression: Expression): FunctionExpression;

// @beta
function ascending(expr: Expression): Ordering;

// @beta
function ascending(fieldName: string): Ordering;

// @beta
function average(expression: Expression): AggregateFunction;

// @beta
function average(fieldName: string): AggregateFunction;

// @beta
abstract class BooleanExpression extends Expression implements firestore.Pipelines.BooleanExpression {
    conditional(thenExpr: Expression, elseExpr: Expression): FunctionExpression;
    countIf(): AggregateFunction;
    // (undocumented)
    abstract get _expr(): Expression;
    ifError(catchValue: BooleanExpression): BooleanExpression;
    ifError(catchValue: boolean): BooleanExpression;
    ifError(catchValue: Expression): FunctionExpression;
    ifError(catchValue: unknown): FunctionExpression;
    not(): BooleanExpression;
    // (undocumented)
    _toProto(serializer: Serializer): api.IValue;
    // (undocumented)
    _validateUserData(ignoreUndefinedProperties: boolean): void;
}

// Warning: (tsdoc-undefined-tag) The TSDoc tag "@class" is not defined in this configuration
//
// @public
export class BulkWriter {
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    constructor(firestore: Firestore, options?: firestore.BulkWriterOptions);
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    close(): Promise<void>;
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    create<AppModelType, DbModelType extends firestore.DocumentData>(documentRef: firestore.DocumentReference<AppModelType, DbModelType>, data: firestore.WithFieldValue<AppModelType>): Promise<WriteResult>;
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    // Warning: (tsdoc-param-tag-with-invalid-name) The @param block should be followed by a valid parameter name: The identifier cannot non-word characters
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    delete<AppModelType, DbModelType extends firestore.DocumentData>(documentRef: firestore.DocumentReference<AppModelType, DbModelType>, precondition?: firestore.Precondition): Promise<WriteResult>;
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    flush(): Promise<void>;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // @internal (undocumented)
    _getBufferedOperationsCount(): number;
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    onWriteError(shouldRetryCallback: (error: BulkWriterError) => boolean): void;
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    onWriteResult(successCallback: (documentRef: firestore.DocumentReference<any, any>, result: WriteResult) => void): void;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    // Warning: (ae-forgotten-export) The symbol "RateLimiter" needs to be exported by the entry point index.d.ts
    //
    // @internal
    readonly _rateLimiter: RateLimiter;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    // Warning: (ae-forgotten-export) The symbol "BulkCommitBatch" needs to be exported by the entry point index.d.ts
    // Warning: (ae-forgotten-export) The symbol "BulkWriterOperation" needs to be exported by the entry point index.d.ts
    //
    // @internal
    _sendFn(enqueueOnBatchCallback: (bulkCommitBatch: BulkCommitBatch) => void, op: BulkWriterOperation): void;
    // (undocumented)
    set<AppModelType, DbModelType extends firestore.DocumentData>(documentRef: firestore.DocumentReference<AppModelType, DbModelType>, data: Partial<AppModelType>, options: firestore.SetOptions): Promise<WriteResult>;
    // (undocumented)
    set<AppModelType, DbModelType extends firestore.DocumentData>(documentRef: firestore.DocumentReference<AppModelType, DbModelType>, data: AppModelType): Promise<WriteResult>;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // @internal (undocumented)
    _setMaxBatchSize(size: number): void;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // @internal (undocumented)
    _setMaxPendingOpCount(newMax: number): void;
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    update<AppModelType, DbModelType extends firestore.DocumentData>(documentRef: firestore.DocumentReference<AppModelType, DbModelType>, dataOrField: firestore.UpdateData<DbModelType> | string | FieldPath, ...preconditionOrValues: Array<{
        lastUpdateTime?: Timestamp;
    } | unknown | string | FieldPath>): Promise<WriteResult>;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // @internal
    _verifyNotClosed(): void;
}

// Warning: (tsdoc-undefined-tag) The TSDoc tag "@class" is not defined in this configuration
//
// @public
export class BulkWriterError extends Error {
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // @internal
    constructor(
    code: GrpcStatus,
    message: string,
    documentRef: firestore.DocumentReference<any, any>,
    operationType: 'create' | 'set' | 'update' | 'delete',
    failedAttempts: number);
    readonly code: GrpcStatus;
    readonly documentRef: firestore.DocumentReference<any, any>;
    readonly failedAttempts: number;
    readonly message: string;
    readonly operationType: 'create' | 'set' | 'update' | 'delete';
}

// @public
export class BundleBuilder {
    constructor(bundleId: string);
    // (undocumented)
    add(documentSnapshot: DocumentSnapshot): BundleBuilder;
    // (undocumented)
    add(queryName: string, querySnapshot: QuerySnapshot): BundleBuilder;
    // (undocumented)
    build(): Buffer;
    // (undocumented)
    readonly bundleId: string;
}

// @beta
function byteLength(expr: Expression): FunctionExpression;

// @beta
function byteLength(fieldName: string): FunctionExpression;

// @beta
function ceil(fieldName: string): FunctionExpression;

// @beta
function ceil(expression: Expression): FunctionExpression;

// @beta
function charLength(fieldName: string): FunctionExpression;

// @beta
function charLength(stringExpression: Expression): FunctionExpression;

// Warning: (tsdoc-undefined-tag) The TSDoc tag "@class" is not defined in this configuration
//
// @public
export class CollectionGroup<AppModelType = firestore.DocumentData, DbModelType extends firestore.DocumentData = firestore.DocumentData> extends Query<AppModelType, DbModelType> implements firestore.CollectionGroup<AppModelType, DbModelType> {
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    constructor(firestore: Firestore, collectionId: string, converter: firestore.FirestoreDataConverter<AppModelType, DbModelType> | undefined);
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    getPartitions(desiredPartitionCount: number): AsyncIterable<QueryPartition<AppModelType, DbModelType>>;
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    withConverter<NewAppModelType, NewDbModelType extends firestore.DocumentData = firestore.DocumentData>(converter: firestore.FirestoreDataConverter<NewAppModelType, NewDbModelType> | null): CollectionGroup<NewAppModelType, NewDbModelType>;
}

// @beta
function collectionId(fieldName: string): FunctionExpression;

// @beta
function collectionId(expression: Expression): FunctionExpression;

// Warning: (tsdoc-undefined-tag) The TSDoc tag "@class" is not defined in this configuration
// Warning: (tsdoc-undefined-tag) The TSDoc tag "@extends" is not defined in this configuration
//
// @public
export class CollectionReference<AppModelType = firestore.DocumentData, DbModelType extends firestore.DocumentData = firestore.DocumentData> extends Query<AppModelType, DbModelType> implements firestore.CollectionReference<AppModelType, DbModelType> {
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    // Warning: (ae-forgotten-export) The symbol "ResourcePath" needs to be exported by the entry point index.d.ts
    constructor(firestore: Firestore, path: ResourcePath, converter?: firestore.FirestoreDataConverter<AppModelType, DbModelType>);
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    add(data: firestore.WithFieldValue<AppModelType>): Promise<DocumentReference<AppModelType, DbModelType>>;
    // (undocumented)
    doc(): DocumentReference<AppModelType, DbModelType>;
    // (undocumented)
    doc(documentPath: string): DocumentReference<AppModelType, DbModelType>;
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@name" is not defined in this configuration
    get id(): string;
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    isEqual(other: firestore.CollectionReference<AppModelType, DbModelType>): boolean;
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    listDocuments(): Promise<Array<DocumentReference<AppModelType, DbModelType>>>;
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@name" is not defined in this configuration
    get parent(): DocumentReference | null;
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@name" is not defined in this configuration
    get path(): string;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // @internal
    get _resourcePath(): ResourcePath;
    // (undocumented)
    withConverter<NewAppModelType, NewDbModelType extends firestore.DocumentData = firestore.DocumentData>(converter: firestore.FirestoreDataConverter<NewAppModelType, NewDbModelType>): CollectionReference<NewAppModelType, NewDbModelType>;
    // (undocumented)
    withConverter(converter: null): CollectionReference<firestore.DocumentData, firestore.DocumentData>;
}

// @beta
function concat(first: Expression, second: Expression | unknown, ...others: Array<Expression | unknown>): FunctionExpression;

// @beta
function concat(fieldName: string, second: Expression | unknown, ...others: Array<Expression | unknown>): FunctionExpression;

// @beta
function conditional(condition: BooleanExpression, thenExpr: Expression, elseExpr: Expression): FunctionExpression;

// @beta
class Constant extends Expression {
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@hideconstructor" is not defined in this configuration
    constructor(value: unknown);
    // (undocumented)
    readonly expressionType: firestore.Pipelines.ExpressionType;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // (undocumented)
    static _fromProto(value: api.IValue): Constant;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // (undocumented)
    _toProto(serializer: Serializer): api.IValue;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // (undocumented)
    _validateUserData(ignoreUndefinedProperties: boolean): void;
}

// @beta
function constant(value: number): Expression;

// @beta
function constant(value: string): Expression;

// @beta
function constant(value: boolean): BooleanExpression;

// @beta
function constant(value: null): Expression;

// @beta
function constant(value: firestore.GeoPoint): Expression;

// @beta
function constant(value: firestore.Timestamp): Expression;

// @beta
function constant(value: Date): Expression;

// @beta
function constant(value: Buffer | Uint8Array): Expression;

// @beta
function constant(value: firestore.DocumentReference): Expression;

// Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
//
// @beta
function constant(value: api.IValue): Expression;

// @beta
function constant(value: firestore.VectorValue): Expression;

// Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
//
// @beta (undocumented)
function constant(value: unknown): Expression;

// @beta
function cosineDistance(fieldName: string, vector: number[] | VectorValue): FunctionExpression;

// @beta
function cosineDistance(fieldName: string, vectorExpression: Expression): FunctionExpression;

// @beta
function cosineDistance(vectorExpression: Expression, vector: number[] | VectorValue): FunctionExpression;

// @beta
function cosineDistance(vectorExpression: Expression, otherVectorExpression: Expression): FunctionExpression;

// @beta
function count(expression: Expression): AggregateFunction;

// @beta
function count(fieldName: string): AggregateFunction;

// @beta
function countAll(): AggregateFunction;

// @beta
function countDistinct(expr: Expression | string): AggregateFunction;

// @beta
function countIf(booleanExpr: BooleanExpression): AggregateFunction;

// @beta
function currentTimestamp(): FunctionExpression;

// @public (undocumented)
export const DEFAULT_MAX_IDLE_CHANNELS = 1;

// Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
//
// @public
export const DEFAULT_MAX_TRANSACTION_ATTEMPTS = 5;

// @beta
function descending(expr: Expression): Ordering;

// @beta
function descending(fieldName: string): Ordering;

// @beta
function divide(dividend: Expression, divisort: Expression): FunctionExpression;

// @beta
function divide(dividend: Expression, divisor: unknown): FunctionExpression;

// @beta
function divide(dividend: string, divisor: Expression): FunctionExpression;

// @beta
function divide(dividend: string, divisor: unknown): FunctionExpression;

// Warning: (tsdoc-undefined-tag) The TSDoc tag "@class" is not defined in this configuration
//
// @public
export class DocumentChange<AppModelType = firestore.DocumentData, DbModelType extends firestore.DocumentData = firestore.DocumentData> implements firestore.DocumentChange<AppModelType, DbModelType> {
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    constructor(type: DocumentChangeType, document: QueryDocumentSnapshot<AppModelType, DbModelType>, oldIndex: number, newIndex: number);
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@name" is not defined in this configuration
    get doc(): QueryDocumentSnapshot<AppModelType, DbModelType>;
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    isEqual(other: firestore.DocumentChange<AppModelType, DbModelType>): boolean;
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@name" is not defined in this configuration
    get newIndex(): number;
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@name" is not defined in this configuration
    get oldIndex(): number;
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@name" is not defined in this configuration
    get type(): DocumentChangeType;
}

// @public (undocumented)
export type DocumentChangeType = 'added' | 'removed' | 'modified';

// @beta
function documentId(documentPath: string | firestore.DocumentReference): FunctionExpression;

// @beta
function documentId(documentPathExpr: Expression): FunctionExpression;

// Warning: (tsdoc-undefined-tag) The TSDoc tag "@class" is not defined in this configuration
// Warning: (ae-forgotten-export) The symbol "Serializable" needs to be exported by the entry point index.d.ts
//
// @public
export class DocumentReference<AppModelType = firestore.DocumentData, DbModelType extends firestore.DocumentData = firestore.DocumentData> implements Serializable, firestore.DocumentReference<AppModelType, DbModelType> {
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // @internal
    constructor(_firestore: Firestore,
    _path: ResourcePath,
    _converter?: firestore.FirestoreDataConverter<AppModelType, DbModelType>);
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    collection(collectionPath: string): CollectionReference;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // @internal (undocumented)
    readonly _converter: firestore.FirestoreDataConverter<AppModelType, DbModelType>;
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    create(data: firestore.WithFieldValue<AppModelType>): Promise<WriteResult>;
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    // Warning: (tsdoc-param-tag-with-invalid-name) The @param block should be followed by a valid parameter name: The identifier cannot non-word characters
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    // Warning: (tsdoc-param-tag-with-invalid-name) The @param block should be followed by a valid parameter name: The identifier cannot non-word characters
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    delete(precondition?: firestore.Precondition): Promise<WriteResult>;
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@name" is not defined in this configuration
    get firestore(): Firestore;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@name" is not defined in this configuration
    //
    // @internal
    get formattedName(): string;
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    get(): Promise<DocumentSnapshot<AppModelType, DbModelType>>;
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@name" is not defined in this configuration
    get id(): string;
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    isEqual(other: firestore.DocumentReference<AppModelType, DbModelType>): boolean;
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    listCollections(): Promise<Array<CollectionReference>>;
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    onSnapshot(onNext: (snapshot: firestore.DocumentSnapshot<AppModelType, DbModelType>) => void, onError?: (error: Error) => void): () => void;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@name" is not defined in this configuration
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration
    get parent(): CollectionReference<AppModelType, DbModelType>;
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@name" is not defined in this configuration
    get path(): string;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // @internal (undocumented)
    readonly _path: ResourcePath;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // @internal
    get _resourcePath(): ResourcePath;
    // (undocumented)
    set(data: firestore.PartialWithFieldValue<AppModelType>, options: firestore.SetOptions): Promise<WriteResult>;
    // (undocumented)
    set(data: firestore.WithFieldValue<AppModelType>): Promise<WriteResult>;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // @internal
    toProto(): api.IValue;
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    update(dataOrField: firestore.UpdateData<DbModelType> | string | firestore.FieldPath, ...preconditionOrValues: Array<unknown | string | firestore.FieldPath | firestore.Precondition>): Promise<WriteResult>;
    // (undocumented)
    withConverter<NewAppModelType, NewDbModelType extends firestore.DocumentData = firestore.DocumentData>(converter: firestore.FirestoreDataConverter<NewAppModelType, NewDbModelType> | null): DocumentReference<NewAppModelType, NewDbModelType>;
}

// Warning: (tsdoc-undefined-tag) The TSDoc tag "@class" is not defined in this configuration
//
// @public
export class DocumentSnapshot<AppModelType = firestore.DocumentData, DbModelType extends firestore.DocumentData = firestore.DocumentData> implements firestore.DocumentSnapshot<AppModelType, DbModelType> {
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // @internal
    constructor(ref: DocumentReference<AppModelType, DbModelType>,
    _fieldsProto?: ApiMapValue | undefined, readTime?: Timestamp, createTime?: Timestamp, updateTime?: Timestamp);
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@name" is not defined in this configuration
    get createTime(): Timestamp | undefined;
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    data(): AppModelType | undefined;
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@name" is not defined in this configuration
    get exists(): boolean;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    // Warning: (ae-forgotten-export) The symbol "ApiMapValue" needs to be exported by the entry point index.d.ts
    //
    // @internal (undocumented)
    readonly _fieldsProto?: ApiMapValue | undefined;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // @internal
    static fromObject<AppModelType, DbModelType extends firestore.DocumentData>(ref: DocumentReference<AppModelType, DbModelType>, obj: firestore.DocumentData): DocumentSnapshot<AppModelType, DbModelType>;
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    // Warning: (ae-forgotten-export) The symbol "UpdateMap" needs to be exported by the entry point index.d.ts
    //
    // @internal
    static fromUpdateMap<AppModelType, DbModelType extends firestore.DocumentData>(ref: firestore.DocumentReference<AppModelType, DbModelType>, data: UpdateMap): DocumentSnapshot<AppModelType, DbModelType>;
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    get(field: string | FieldPath): any;
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@name" is not defined in this configuration
    get id(): string;
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    isEqual(other: firestore.DocumentSnapshot<AppModelType, DbModelType>): boolean;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // @internal
    protoField(field: string | FieldPath): api.IValue | undefined;
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@name" is not defined in this configuration
    get readTime(): Timestamp;
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@name" is not defined in this configuration
    get ref(): DocumentReference<AppModelType, DbModelType>;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // @internal
    toDocumentProto(): api.IDocument;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // @internal
    toWriteProto(): api.IWrite;
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@name" is not defined in this configuration
    get updateTime(): Timestamp | undefined;
}

// @beta
function dotProduct(fieldName: string, vector: number[] | VectorValue): FunctionExpression;

// @beta
function dotProduct(fieldName: string, vectorExpression: Expression): FunctionExpression;

// @beta
function dotProduct(vectorExpression: Expression, vector: number[] | VectorValue): FunctionExpression;

// @beta
function dotProduct(vectorExpression: Expression, otherVectorExpression: Expression): FunctionExpression;

// @beta
function endsWith(fieldName: string, suffix: string): BooleanExpression;

// @beta
function endsWith(fieldName: string, suffix: Expression): BooleanExpression;

// @beta
function endsWith(stringExpression: Expression, suffix: string): BooleanExpression;

// @beta
function endsWith(stringExpression: Expression, suffix: Expression): BooleanExpression;

// @beta
function equal(left: Expression, right: Expression): BooleanExpression;

// @beta
function equal(expression: Expression, value: unknown): BooleanExpression;

// @beta
function equal(fieldName: string, expression: Expression): BooleanExpression;

// @beta
function equal(fieldName: string, value: unknown): BooleanExpression;

// @beta
function equalAny(expression: Expression, values: Array<Expression | unknown>): BooleanExpression;

// @beta
function equalAny(expression: Expression, arrayExpression: Expression): BooleanExpression;

// @beta
function equalAny(fieldName: string, values: Array<Expression | unknown>): BooleanExpression;

// @beta
function equalAny(fieldName: string, arrayExpression: Expression): BooleanExpression;

// @beta
function euclideanDistance(fieldName: string, vector: number[] | VectorValue): FunctionExpression;

// @beta
function euclideanDistance(fieldName: string, vectorExpression: Expression): FunctionExpression;

// @beta
function euclideanDistance(vectorExpression: Expression, vector: number[] | VectorValue): FunctionExpression;

// @beta
function euclideanDistance(vectorExpression: Expression, otherVectorExpression: Expression): FunctionExpression;

// Warning: (tsdoc-undefined-tag) The TSDoc tag "@class" is not defined in this configuration
//
// @public
export class ExecutionStats implements firestore.ExecutionStats {
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // @internal
    constructor(resultsReturned: number, executionDuration: firestore.Duration, readOperations: number, debugStats: Record<string, unknown>);
    // (undocumented)
    readonly debugStats: Record<string, unknown>;
    // (undocumented)
    readonly executionDuration: firestore.Duration;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // @internal (undocumented)
    static _fromProto(stats: IExecutionStats | null | undefined, serializer: Serializer): ExecutionStats | null;
    // (undocumented)
    readonly readOperations: number;
    // (undocumented)
    readonly resultsReturned: number;
}

// @beta
function exists(value: Expression): BooleanExpression;

// @beta
function exists(fieldName: string): BooleanExpression;

// @beta
function exp(expression: Expression): FunctionExpression;

// @beta
function exp(fieldName: string): FunctionExpression;

// Warning: (tsdoc-undefined-tag) The TSDoc tag "@class" is not defined in this configuration
//
// @public
export class ExplainMetrics implements firestore.ExplainMetrics {
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // @internal
    constructor(planSummary: PlanSummary, executionStats: ExecutionStats | null);
    // (undocumented)
    readonly executionStats: ExecutionStats | null;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // @internal (undocumented)
    static _fromProto(metrics: IExplainMetrics, serializer: Serializer): ExplainMetrics;
    // (undocumented)
    readonly planSummary: PlanSummary;
}

// Warning: (tsdoc-undefined-tag) The TSDoc tag "@class" is not defined in this configuration
//
// @public
export class ExplainResults<T> implements firestore.ExplainResults<T> {
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // @internal
    constructor(metrics: ExplainMetrics, snapshot: T | null);
    // (undocumented)
    readonly metrics: ExplainMetrics;
    // (undocumented)
    readonly snapshot: T | null;
}

// @beta
abstract class Expression implements firestore.Pipelines.Expression, HasUserData {
    abs(): FunctionExpression;
    add(second: firestore.Pipelines.Expression | unknown, ...others: Array<firestore.Pipelines.Expression | unknown>): FunctionExpression;
    arrayAgg(): AggregateFunction;
    arrayAggDistinct(): AggregateFunction;
    arrayConcat(secondArray: Expression | unknown[], ...otherArrays: Array<Expression | unknown[]>): FunctionExpression;
    arrayContains(expression: Expression): BooleanExpression;
    arrayContains(value: unknown): BooleanExpression;
    arrayContainsAll(values: Array<Expression | unknown>): BooleanExpression;
    arrayContainsAll(arrayExpression: Expression): BooleanExpression;
    arrayContainsAny(values: Array<Expression | unknown>): BooleanExpression;
    arrayContainsAny(arrayExpression: Expression): BooleanExpression;
    arrayFirst(): FunctionExpression;
    arrayFirstN(n: number): FunctionExpression;
    arrayFirstN(n: Expression): FunctionExpression;
    arrayGet(index: number): FunctionExpression;
    arrayGet(indexExpr: Expression): FunctionExpression;
    arrayIndexOf(search: unknown): FunctionExpression;
    arrayIndexOf(search: Expression): FunctionExpression;
    arrayIndexOfAll(search: unknown): FunctionExpression;
    arrayIndexOfAll(search: Expression): FunctionExpression;
    arrayLast(): FunctionExpression;
    arrayLastIndexOf(search: unknown): FunctionExpression;
    arrayLastIndexOf(search: Expression): FunctionExpression;
    arrayLastN(n: number): FunctionExpression;
    arrayLastN(n: Expression): FunctionExpression;
    arrayLength(): FunctionExpression;
    arrayMaximum(): FunctionExpression;
    arrayMaximumN(n: number): FunctionExpression;
    arrayMaximumN(n: Expression): FunctionExpression;
    arrayMinimum(): FunctionExpression;
    arrayMinimumN(n: number): FunctionExpression;
    arrayMinimumN(n: Expression): FunctionExpression;
    arrayReverse(): FunctionExpression;
    arraySum(): FunctionExpression;
    as(name: string): AliasedExpression;
    asBoolean(): BooleanExpression;
    ascending(): Ordering;
    average(): AggregateFunction;
    byteLength(): FunctionExpression;
    ceil(): FunctionExpression;
    charLength(): FunctionExpression;
    collectionId(): FunctionExpression;
    concat(second: Expression | unknown, ...others: Array<Expression | unknown>): FunctionExpression;
    cosineDistance(vectorExpression: Expression): FunctionExpression;
    cosineDistance(vector: firestore.VectorValue | number[]): FunctionExpression;
    count(): AggregateFunction;
    countDistinct(): AggregateFunction;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    _createdFromLiteral: boolean;
    descending(): Ordering;
    divide(divisor: Expression): FunctionExpression;
    divide(divisor: number): FunctionExpression;
    documentId(): FunctionExpression;
    dotProduct(vectorExpression: Expression): FunctionExpression;
    dotProduct(vector: firestore.VectorValue | number[]): FunctionExpression;
    endsWith(suffix: string): BooleanExpression;
    endsWith(suffix: Expression): BooleanExpression;
    equal(expression: Expression): BooleanExpression;
    equal(value: unknown): BooleanExpression;
    equalAny(values: Array<Expression | unknown>): BooleanExpression;
    equalAny(arrayExpression: Expression): BooleanExpression;
    euclideanDistance(vectorExpression: Expression): FunctionExpression;
    euclideanDistance(vector: firestore.VectorValue | number[]): FunctionExpression;
    exists(): BooleanExpression;
    exp(): FunctionExpression;
    // (undocumented)
    abstract expressionType: firestore.Pipelines.ExpressionType;
    first(): AggregateFunction;
    floor(): FunctionExpression;
    greaterThan(expression: Expression): BooleanExpression;
    greaterThan(value: unknown): BooleanExpression;
    greaterThanOrEqual(expression: Expression): BooleanExpression;
    greaterThanOrEqual(value: unknown): BooleanExpression;
    ifAbsent(elseValue: unknown): Expression;
    ifAbsent(elseExpression: unknown): Expression;
    ifError(catchExpr: Expression): FunctionExpression;
    ifError(catchValue: unknown): FunctionExpression;
    isAbsent(): BooleanExpression;
    isError(): BooleanExpression;
    isType(type: Type): BooleanExpression;
    join(delimiterExpression: Expression): Expression;
    join(delimiter: string): Expression;
    last(): AggregateFunction;
    length(): FunctionExpression;
    lessThan(experession: Expression): BooleanExpression;
    lessThan(value: unknown): BooleanExpression;
    lessThanOrEqual(expression: Expression): BooleanExpression;
    lessThanOrEqual(value: unknown): BooleanExpression;
    like(pattern: string): BooleanExpression;
    like(pattern: Expression): BooleanExpression;
    ln(): FunctionExpression;
    log10(): FunctionExpression;
    logicalMaximum(second: Expression | unknown, ...others: Array<Expression | unknown>): FunctionExpression;
    logicalMinimum(second: Expression | unknown, ...others: Array<Expression | unknown>): FunctionExpression;
    ltrim(valueToTrim?: string | Expression | Uint8Array | Buffer): FunctionExpression;
    mapEntries(): FunctionExpression;
    mapGet(subfield: string): FunctionExpression;
    mapKeys(): FunctionExpression;
    mapMerge(secondMap: Record<string, unknown> | Expression, ...otherMaps: Array<Record<string, unknown> | Expression>): FunctionExpression;
    mapRemove(key: string): FunctionExpression;
    mapRemove(keyExpr: Expression): FunctionExpression;
    mapSet(key: string | Expression, value: unknown, ...moreKeyValues: unknown[]): FunctionExpression;
    mapValues(): FunctionExpression;
    maximum(): AggregateFunction;
    minimum(): AggregateFunction;
    mod(expression: Expression): FunctionExpression;
    mod(value: number): FunctionExpression;
    multiply(second: Expression | number, ...others: Array<Expression | number>): FunctionExpression;
    notEqual(expression: Expression): BooleanExpression;
    notEqual(value: unknown): BooleanExpression;
    notEqualAny(values: Array<Expression | unknown>): BooleanExpression;
    notEqualAny(arrayExpression: Expression): BooleanExpression;
    pow(exponent: Expression): FunctionExpression;
    pow(exponent: number): FunctionExpression;
    // (undocumented)
    _protoValueType: "ProtoValue";
    regexContains(pattern: string): BooleanExpression;
    regexContains(pattern: Expression): BooleanExpression;
    regexFind(pattern: string): FunctionExpression;
    regexFind(pattern: Expression): FunctionExpression;
    regexFindAll(pattern: string): FunctionExpression;
    regexFindAll(pattern: Expression): FunctionExpression;
    regexMatch(pattern: string): BooleanExpression;
    regexMatch(pattern: Expression): BooleanExpression;
    reverse(): FunctionExpression;
    round(): FunctionExpression;
    round(decimalPlaces: number): FunctionExpression;
    round(decimalPlaces: Expression): FunctionExpression;
    rtrim(valueToTrim?: string | Expression | Uint8Array | Buffer): FunctionExpression;
    split(delimiter: string): FunctionExpression;
    split(delimiter: Expression): FunctionExpression;
    sqrt(): FunctionExpression;
    startsWith(prefix: string): BooleanExpression;
    startsWith(prefix: Expression): BooleanExpression;
    stringConcat(secondString: Expression | string, ...otherStrings: Array<Expression | string>): FunctionExpression;
    stringContains(substring: string): BooleanExpression;
    stringContains(expr: Expression): BooleanExpression;
    stringIndexOf(search: string | Expression | Uint8Array | Buffer): FunctionExpression;
    stringRepeat(repetitions: number | Expression): FunctionExpression;
    stringReplaceAll(find: string | Expression | Uint8Array | Buffer, replacement: string | Expression | Uint8Array | Buffer): FunctionExpression;
    stringReplaceOne(find: string | Expression | Uint8Array | Buffer, replacement: string | Expression | Uint8Array | Buffer): FunctionExpression;
    stringReverse(): FunctionExpression;
    substring(position: number, length?: number): FunctionExpression;
    substring(position: Expression, length?: Expression): FunctionExpression;
    subtract(subtrahend: firestore.Pipelines.Expression): FunctionExpression;
    subtract(subtrahend: number): FunctionExpression;
    sum(): AggregateFunction;
    timestampAdd(unit: Expression, amount: Expression): FunctionExpression;
    timestampAdd(unit: 'microsecond' | 'millisecond' | 'second' | 'minute' | 'hour' | 'day', amount: number): FunctionExpression;
    timestampSubtract(unit: Expression, amount: Expression): FunctionExpression;
    timestampSubtract(unit: 'microsecond' | 'millisecond' | 'second' | 'minute' | 'hour' | 'day', amount: number): FunctionExpression;
    timestampToUnixMicros(): FunctionExpression;
    timestampToUnixMillis(): FunctionExpression;
    timestampToUnixSeconds(): FunctionExpression;
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    timestampTruncate(granularity: firestore.Pipelines.TimeGranularity, timezone?: string | Expression): FunctionExpression;
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    timestampTruncate(granularity: Expression, timezone?: string | Expression): FunctionExpression;
    toLower(): FunctionExpression;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // (undocumented)
    abstract _toProto(serializer: Serializer): api.IValue;
    toUpper(): FunctionExpression;
    trim(valueToTrim?: string | Expression | Uint8Array | Buffer): FunctionExpression;
    trunc(): FunctionExpression;
    trunc(decimalPlaces: number): FunctionExpression;
    trunc(decimalPlaces: Expression): FunctionExpression;
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    type(): FunctionExpression;
    unixMicrosToTimestamp(): FunctionExpression;
    unixMillisToTimestamp(): FunctionExpression;
    unixSecondsToTimestamp(): FunctionExpression;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // (undocumented)
    abstract _validateUserData(ignoreUndefinedProperties: boolean): void;
    vectorLength(): FunctionExpression;
}

// @beta
class Field extends Expression implements firestore.Pipelines.Selectable {
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@hideconstructor" is not defined in this configuration
    constructor(fieldPath: FieldPath);
    // (undocumented)
    get _alias(): string;
    // (undocumented)
    get _expr(): Expression;
    // (undocumented)
    readonly expressionType: firestore.Pipelines.ExpressionType;
    // (undocumented)
    get fieldName(): string;
    // (undocumented)
    selectable: true;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // (undocumented)
    _toProto(_: Serializer): api.IValue;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // (undocumented)
    _validateUserData(_: boolean): void;
}

// @beta
function field(field: string | firestore.FieldPath): Field;

// Warning: (tsdoc-undefined-tag) The TSDoc tag "@class" is not defined in this configuration
// Warning: (ae-forgotten-export) The symbol "Path" needs to be exported by the entry point index.d.ts
//
// @public
export class FieldPath extends Path<FieldPath> implements firestore.FieldPath {
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    constructor(...segments: string[]);
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // @internal @override
    construct(segments: string[]): FieldPath;
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    static documentId(): FieldPath;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    //
    // @internal
    static _emptyPath(): FieldPath;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    //
    // @internal @override
    get formattedName(): string;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    //
    // @internal
    static fromArgument(fieldPath: string | firestore.FieldPath): FieldPath;
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    isEqual(other: FieldPath): boolean;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // @internal
    get _minNumSegments(): number;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    //
    // @internal @override
    split(fieldPath: string): string[];
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // @internal
    toString(): string;
}

// Warning: (tsdoc-undefined-tag) The TSDoc tag "@class" is not defined in this configuration
//
// @public
export class FieldValue implements firestore.FieldValue {
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    constructor();
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    static arrayRemove(...elements: unknown[]): FieldValue;
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    static arrayUnion(...elements: unknown[]): FieldValue;
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    static delete(): FieldValue;
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    static increment(n: number): FieldValue;
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    isEqual(other: firestore.FieldValue): boolean;
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    static serverTimestamp(): FieldValue;
    static vector(values?: number[]): VectorValue;
}

// @public
export abstract class Filter {
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    static and(...filters: Filter[]): Filter;
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    static or(...filters: Filter[]): Filter;
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    static where(fieldPath: string | firestore.FieldPath, opStr: firestore.WhereFilterOp, value: unknown): Filter;
}

// Warning: (tsdoc-undefined-tag) The TSDoc tag "@class" is not defined in this configuration
//
// @public
class Firestore implements firestore.Firestore {
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    // Warning: (tsdoc-param-tag-with-invalid-name) The @param block should be followed by a valid parameter name: The identifier cannot non-word characters
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    // Warning: (tsdoc-param-tag-with-invalid-name) The @param block should be followed by a valid parameter name: The identifier cannot non-word characters
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    // Warning: (tsdoc-param-tag-with-invalid-name) The @param block should be followed by a valid parameter name: The identifier cannot non-word characters
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    // Warning: (tsdoc-param-tag-with-invalid-name) The @param block should be followed by a valid parameter name: The identifier cannot non-word characters
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    // Warning: (tsdoc-param-tag-with-invalid-name) The @param block should be followed by a valid parameter name: The identifier cannot non-word characters
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    // Warning: (tsdoc-param-tag-with-invalid-name) The @param block should be followed by a valid parameter name: The identifier cannot non-word characters
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    // Warning: (tsdoc-param-tag-with-invalid-name) The @param block should be followed by a valid parameter name: The identifier cannot non-word characters
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    // Warning: (tsdoc-param-tag-with-invalid-name) The @param block should be followed by a valid parameter name: The identifier cannot non-word characters
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    constructor(settings?: firestore.Settings);
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    batch(): WriteBatch;
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    bulkWriter(options?: firestore.BulkWriterOptions): BulkWriter;
    // Warning: (tsdoc-param-tag-with-invalid-name) The @param block should be followed by a valid parameter name: The identifier cannot non-word characters
    bundle(name?: string): BundleBuilder;
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    collection(collectionPath: string): CollectionReference;
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    collectionGroup(collectionId: string): CollectionGroup;
    get databaseId(): string;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // @internal
    _decrementBulkWritersCount(): void;
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    doc(documentPath: string): DocumentReference;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // @internal
    get formattedName(): string;
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    getAll<AppModelType, DbModelType extends firestore.DocumentData>(...documentRefsOrReadOptions: Array<firestore.DocumentReference<AppModelType, DbModelType> | firestore.ReadOptions>): Promise<Array<DocumentSnapshot<AppModelType, DbModelType>>>;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // @internal
    _incrementBulkWritersCount(): void;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // @internal
    initializeIfNeeded(requestTag: string): Promise<void>;
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    listCollections(): Promise<CollectionReference[]>;
    // @beta
    pipeline(): PipelineSource;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // @internal
    get projectId(): string;
    recursiveDelete(ref: firestore.CollectionReference<any, any> | firestore.DocumentReference<any, any>, bulkWriter?: BulkWriter): Promise<void>;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // @internal
    _recursiveDelete(ref: firestore.CollectionReference<unknown> | firestore.DocumentReference<unknown>, maxPendingOps: number, minPendingOps: number, bulkWriter?: BulkWriter): Promise<void>;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // @internal
    registerListener(): void;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    // Warning: (ae-forgotten-export) The symbol "FirestoreUnaryMethod" needs to be exported by the entry point index.d.ts
    //
    // @internal
    request<Req, Resp>(methodName: FirestoreUnaryMethod, request: Req, requestTag: string, retryCodes?: number[]): Promise<Resp>;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    // Warning: (ae-forgotten-export) The symbol "FirestoreStreamingMethod" needs to be exported by the entry point index.d.ts
    //
    // @internal
    requestStream(methodName: FirestoreStreamingMethod, bidrectional: boolean, request: {}, requestTag: string): Promise<Duplex>;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@template" is not defined in this configuration
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    runTransaction<T>(updateFunction: (transaction: Transaction) => Promise<T>, transactionOptions?: firestore.ReadWriteTransactionOptions | firestore.ReadOnlyTransactionOptions): Promise<T>;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // @internal
    _serializer: Serializer | null;
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    settings(settings: firestore.Settings): void;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // @internal
    _settings: firestore.Settings;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    snapshot_(documentName: string, readTime?: google.protobuf.ITimestamp, encoding?: 'protobufJS'): DocumentSnapshot;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // (undocumented)
    snapshot_(documentName: string, readTime: string, encoding: 'json'): DocumentSnapshot;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // (undocumented)
    snapshot_(document: api.IDocument, readTime: google.protobuf.ITimestamp, encoding?: 'protobufJS'): QueryDocumentSnapshot;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // (undocumented)
    snapshot_(document: {
        [k: string]: unknown;
    }, readTime: string, encoding: 'json'): QueryDocumentSnapshot;
    terminate(): Promise<void>;
    toJSON(): object;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    // Warning: (ae-forgotten-export) The symbol "TraceUtil" needs to be exported by the entry point index.d.ts
    //
    // @internal
    _traceUtil: TraceUtil;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // @internal
    unregisterListener(): void;
}
export { Firestore }
export default Firestore;

// @beta
function first(expression: Expression): AggregateFunction;

// @beta
function first(fieldName: string): AggregateFunction;

// @beta
function floor(expr: Expression): FunctionExpression;

// @beta
function floor(fieldName: string): FunctionExpression;

// @beta
class FunctionExpression extends Expression {
    constructor(_methodName: string, params: Expression[]);
    // (undocumented)
    readonly expressionType: firestore.Pipelines.ExpressionType;
    // (undocumented)
    _methodName: string;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // (undocumented)
    _toProto(serializer: Serializer): api.IValue;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // (undocumented)
    _validateUserData(ignoreUndefinedProperties: boolean): void;
}

// Warning: (tsdoc-undefined-tag) The TSDoc tag "@class" is not defined in this configuration
//
// @public
export class GeoPoint implements Serializable, firestore.GeoPoint {
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    constructor(latitude: number, longitude: number);
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // @internal
    static fromProto(proto: google.type.ILatLng): GeoPoint;
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    isEqual(other: firestore.GeoPoint): boolean;
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@name" is not defined in this configuration
    get latitude(): number;
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@name" is not defined in this configuration
    get longitude(): number;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // @internal
    toProto(): api.IValue;
}

// @beta
function greaterThan(left: Expression, right: Expression): BooleanExpression;

// @beta
function greaterThan(expression: Expression, value: unknown): BooleanExpression;

// @beta
function greaterThan(fieldName: string, expression: Expression): BooleanExpression;

// @beta
function greaterThan(fieldName: string, value: unknown): BooleanExpression;

// @beta
function greaterThanOrEqual(left: Expression, right: Expression): BooleanExpression;

// @beta
function greaterThanOrEqual(expression: Expression, value: unknown): BooleanExpression;

// @beta
function greaterThanOrEqual(fieldName: string, value: Expression): BooleanExpression;

// @beta
function greaterThanOrEqual(fieldName: string, value: unknown): BooleanExpression;

// @beta
function ifAbsent(ifExpr: Expression, elseExpr: Expression): Expression;

// @beta
function ifAbsent(ifExpr: Expression, elseValue: unknown): Expression;

// @beta
function ifAbsent(ifFieldName: string, elseExpr: Expression): Expression;

// @beta
function ifAbsent(ifFieldName: string | Expression, elseValue: Expression | unknown): Expression;

// @beta
function ifError(tryExpr: BooleanExpression, catchExpr: BooleanExpression): BooleanExpression;

// @beta
function ifError(tryExpr: Expression, catchExpr: Expression): FunctionExpression;

// @beta
function ifError(tryExpr: Expression, catchValue: unknown): FunctionExpression;

// @beta
function isAbsent(value: Expression): BooleanExpression;

// @beta
function isAbsent(field: string): BooleanExpression;

// @beta
function isError(value: Expression): BooleanExpression;

// @beta
function isType(fieldName: string, type: Type): BooleanExpression;

// @beta
function isType(expression: Expression, type: Type): BooleanExpression;

// @beta
function join(arrayFieldName: string, delimiter: string): Expression;

// @beta
function join(arrayExpression: Expression, delimiterExpression: Expression): Expression;

// @beta
function join(arrayExpression: Expression, delimiter: string): Expression;

// @beta
function join(arrayFieldName: string, delimiterExpression: Expression): Expression;

// @beta
function last(expression: Expression): AggregateFunction;

// @beta
function last(fieldName: string): AggregateFunction;

// @beta
function length_2(fieldName: string): FunctionExpression;

// @beta
function length_2(expression: Expression): FunctionExpression;

// @beta
function lessThan(left: Expression, right: Expression): BooleanExpression;

// @beta
function lessThan(expression: Expression, value: unknown): BooleanExpression;

// @beta
function lessThan(fieldName: string, expression: Expression): BooleanExpression;

// @beta
function lessThan(fieldName: string, value: unknown): BooleanExpression;

// @beta
function lessThanOrEqual(left: Expression, right: Expression): BooleanExpression;

// @beta
function lessThanOrEqual(expression: Expression, value: unknown): BooleanExpression;

// @beta
function lessThanOrEqual(fieldName: string, expression: Expression): BooleanExpression;

// @beta
function lessThanOrEqual(fieldName: string, value: unknown): BooleanExpression;

// @beta
function like(fieldName: string, pattern: string): BooleanExpression;

// @beta
function like(fieldName: string, pattern: Expression): BooleanExpression;

// @beta
function like(stringExpression: Expression, pattern: string): BooleanExpression;

// @beta
function like(stringExpression: Expression, pattern: Expression): BooleanExpression;

// @beta
function ln(fieldName: string): FunctionExpression;

// @beta
function ln(expression: Expression): FunctionExpression;

// @beta
function log10(fieldName: string): FunctionExpression;

// @beta
function log10(expression: Expression): FunctionExpression;

// @beta
function logicalMaximum(first: Expression, second: Expression | unknown, ...others: Array<Expression | unknown>): FunctionExpression;

// @beta
function logicalMaximum(fieldName: string, second: Expression | unknown, ...others: Array<Expression | unknown>): FunctionExpression;

// @beta
function logicalMinimum(first: Expression, second: Expression | unknown, ...others: Array<Expression | unknown>): FunctionExpression;

// @beta
function logicalMinimum(fieldName: string, second: Expression | unknown, ...others: Array<Expression | unknown>): FunctionExpression;

// @beta
function ltrim(fieldName: string, valueToTrim?: string | Expression | Uint8Array | Buffer): FunctionExpression;

// @beta
function ltrim(expression: Expression, valueToTrim?: string | Expression | Uint8Array | Buffer): FunctionExpression;

// @beta
function map(elements: Record<string, unknown>): FunctionExpression;

// @beta
function mapEntries(mapField: string): FunctionExpression;

// @beta
function mapEntries(mapExpression: Expression): FunctionExpression;

// @beta
function mapGet(fieldName: string, subField: string): FunctionExpression;

// @beta
function mapGet(mapExpression: Expression, subField: string): FunctionExpression;

// @beta
function mapKeys(mapField: string): FunctionExpression;

// @beta
function mapKeys(mapExpression: Expression): FunctionExpression;

// @beta
function mapMerge(mapField: string, secondMap: Record<string, unknown> | Expression, ...otherMaps: Array<Record<string, unknown> | Expression>): FunctionExpression;

// @beta
function mapMerge(firstMap: Record<string, unknown> | Expression, secondMap: Record<string, unknown> | Expression, ...otherMaps: Array<Record<string, unknown> | Expression>): FunctionExpression;

// @beta
function mapRemove(mapField: string, key: string): FunctionExpression;

// @beta
function mapRemove(mapExpr: Expression, key: string): FunctionExpression;

// @beta
function mapRemove(mapField: string, keyExpr: Expression): FunctionExpression;

// @beta
function mapRemove(mapExpr: Expression, keyExpr: Expression): FunctionExpression;

// @beta
function mapSet(mapField: string, key: string | Expression, value: unknown, ...moreKeyValues: unknown[]): FunctionExpression;

// @beta
function mapSet(mapExpression: Expression, key: string | Expression, value: unknown, ...moreKeyValues: unknown[]): FunctionExpression;

// @beta
function mapValues(mapField: string): FunctionExpression;

// @beta
function mapValues(mapExpression: Expression): FunctionExpression;

// Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
//
// @public
export const MAX_REQUEST_RETRIES = 5;

// @beta
function maximum(expression: Expression): AggregateFunction;

// @beta
function maximum(fieldName: string): AggregateFunction;

// @beta
function minimum(expression: Expression): AggregateFunction;

// @beta
function minimum(fieldName: string): AggregateFunction;

// @beta
function mod(left: Expression, right: Expression): FunctionExpression;

// @beta
function mod(expression: Expression, value: unknown): FunctionExpression;

// @beta
function mod(fieldName: string, expression: Expression): FunctionExpression;

// @beta
function mod(fieldName: string, value: unknown): FunctionExpression;

// @beta
function multiply(first: Expression, second: Expression | unknown): FunctionExpression;

// @beta
function multiply(fieldName: string, second: Expression | unknown): FunctionExpression;

// @beta
function not(booleanExpr: BooleanExpression): BooleanExpression;

// @beta
function notEqual(left: Expression, right: Expression): BooleanExpression;

// @beta
function notEqual(expression: Expression, value: unknown): BooleanExpression;

// @beta
function notEqual(fieldName: string, expression: Expression): BooleanExpression;

// @beta
function notEqual(fieldName: string, value: unknown): BooleanExpression;

// @beta
function notEqualAny(element: Expression, values: Array<Expression | unknown>): BooleanExpression;

// @beta
function notEqualAny(fieldName: string, values: Array<Expression | unknown>): BooleanExpression;

// @beta
function notEqualAny(element: Expression, arrayExpression: Expression): BooleanExpression;

// @beta
function notEqualAny(fieldName: string, arrayExpression: Expression): BooleanExpression;

// @beta
function or(first: BooleanExpression, second: BooleanExpression, ...more: BooleanExpression[]): BooleanExpression;

// @beta
class Ordering implements HasUserData {
    constructor(expr: Expression, direction: 'ascending' | 'descending');
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    _createdFromLiteral: boolean;
    // (undocumented)
    readonly direction: 'ascending' | 'descending';
    // (undocumented)
    readonly expr: Expression;
    // (undocumented)
    _protoValueType: 'ProtoValue';
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // (undocumented)
    _toProto(serializer: Serializer): api.IValue;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // (undocumented)
    _validateUserData(ignoreUndefinedProperties: boolean): void;
}

// @beta
class Pipeline implements firestore.Pipelines.Pipeline {
    // Warning: (ae-forgotten-export) The symbol "Stage" needs to be exported by the entry point index.d.ts
    constructor(db: Firestore, stages: Stage[]);
    addFields(field: firestore.Pipelines.Selectable, ...additionalFields: firestore.Pipelines.Selectable[]): Pipeline;
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    addFields(options: firestore.Pipelines.AddFieldsStageOptions): Pipeline;
    aggregate(accumulator: firestore.Pipelines.AliasedAggregate, ...additionalAccumulators: firestore.Pipelines.AliasedAggregate[]): Pipeline;
    aggregate(options: firestore.Pipelines.AggregateStageOptions): Pipeline;
    distinct(group: string | firestore.Pipelines.Selectable, ...additionalGroups: Array<string | firestore.Pipelines.Selectable>): Pipeline;
    distinct(options: firestore.Pipelines.DistinctStageOptions): Pipeline;
    execute(pipelineExecuteOptions?: firestore.Pipelines.PipelineExecuteOptions): Promise<PipelineSnapshot>;
    // Warning: (ae-forgotten-export) The symbol "PipelineResponse" needs to be exported by the entry point index.d.ts
    //
    // (undocumented)
    _execute(transactionOrReadTime?: Uint8Array | Timestamp | api.ITransactionOptions, pipelineExecuteOptions?: firestore.Pipelines.PipelineExecuteOptions): Promise<PipelineResponse>;
    findNearest(options: firestore.Pipelines.FindNearestStageOptions): Pipeline;
    limit(limit: number): Pipeline;
    limit(options: firestore.Pipelines.LimitStageOptions): Pipeline;
    offset(offset: number): Pipeline;
    offset(options: firestore.Pipelines.OffsetStageOptions): Pipeline;
    rawStage(name: string, params: unknown[], options?: {
        [key: string]: Expression | unknown;
    }): Pipeline;
    removeFields(fieldValue: firestore.Pipelines.Field | string, ...additionalFields: Array<firestore.Pipelines.Field | string>): Pipeline;
    removeFields(options: firestore.Pipelines.RemoveFieldsStageOptions): Pipeline;
    replaceWith(fieldName: string): Pipeline;
    replaceWith(expr: firestore.Pipelines.Expression): Pipeline;
    replaceWith(options: firestore.Pipelines.ReplaceWithStageOptions): Pipeline;
    sample(documents: number): Pipeline;
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    sample(options: firestore.Pipelines.SampleStageOptions): Pipeline;
    select(selection: firestore.Pipelines.Selectable | string, ...additionalSelections: Array<firestore.Pipelines.Selectable | string>): Pipeline;
    select(options: firestore.Pipelines.SelectStageOptions): Pipeline;
    sort(ordering: firestore.Pipelines.Ordering, ...additionalOrderings: firestore.Pipelines.Ordering[]): Pipeline;
    sort(options: firestore.Pipelines.SortStageOptions): Pipeline;
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    stream(): NodeJS.ReadableStream;
    // (undocumented)
    _toProto(): api.IPipeline;
    // Warning: (ae-forgotten-export) The symbol "StructuredPipeline" needs to be exported by the entry point index.d.ts
    //
    // (undocumented)
    _toStructuredPipeline(pipelineExecuteOptions?: firestore.Pipelines.PipelineExecuteOptions): StructuredPipeline;
    union(other: firestore.Pipelines.Pipeline): Pipeline;
    union(options: firestore.Pipelines.UnionStageOptions): Pipeline;
    unnest(selectable: firestore.Pipelines.Selectable, indexField?: string): Pipeline;
    unnest(options: firestore.Pipelines.UnnestStageOptions): Pipeline;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    _validateUserData<T extends Map<string, HasUserData> | HasUserData[] | HasUserData>(_: string, val: T): T;
    where(condition: firestore.Pipelines.BooleanExpression): Pipeline;
    where(options: firestore.Pipelines.WhereStageOptions): Pipeline;
}

// @beta
class PipelineResult implements firestore.Pipelines.PipelineResult {
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    constructor(serializer: Serializer,
    _fieldsProto: ApiMapValue, ref?: DocumentReference, readTime?: Timestamp, createTime?: Timestamp, updateTime?: Timestamp);
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration
    get createTime(): Timestamp | undefined;
    // (undocumented)
    readonly _createTime: Timestamp | undefined;
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    data(): firestore.DocumentData;
    // (undocumented)
    readonly _executionTime: Timestamp | undefined;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // (undocumented)
    readonly _fieldsProto: ApiMapValue;
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    get(fieldPath: string | FieldPath): any;
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration
    get id(): string | undefined;
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    isEqual(other: PipelineResult): boolean;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    protoField(field: string | FieldPath): api.IValue | undefined;
    get ref(): DocumentReference | undefined;
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration
    get updateTime(): Timestamp | undefined;
    // (undocumented)
    readonly _updateTime: Timestamp | undefined;
}

declare namespace Pipelines {
    export {
        Pipeline,
        PipelineResult,
        PipelineSnapshot,
        PipelineSource,
        and,
        arrayContains,
        arrayContainsAny,
        arrayReverse,
        average,
        equal,
        ceil,
        exp,
        floor,
        greaterThan,
        like,
        lessThan,
        notEqual,
        ascending,
        not,
        or,
        regexContains,
        regexMatch,
        regexFind,
        regexFindAll,
        startsWith,
        stringConcat,
        subtract,
        cosineDistance,
        countDistinct,
        dotProduct,
        euclideanDistance,
        mapGet,
        mapEntries,
        mapKeys,
        mapSet,
        mapValues,
        lessThanOrEqual,
        equalAny,
        map,
        array,
        arrayFirst,
        arrayLast,
        arrayFirstN,
        arrayLastN,
        arrayIndexOf,
        arrayIndexOfAll,
        arrayLastIndexOf,
        arrayMaximum,
        arrayMinimum,
        arrayMaximumN,
        arrayMinimumN,
        field,
        xor,
        AggregateFunction,
        arrayGet,
        add,
        BooleanExpression,
        Expression,
        FunctionExpression,
        minimum,
        count,
        countIf,
        arrayLength,
        stringContains,
        charLength,
        divide,
        mod,
        reverse,
        trim,
        toUpper,
        toLower,
        vectorLength,
        exists,
        isAbsent,
        ifError,
        isError,
        substring,
        documentId,
        arrayContainsAll,
        constant,
        Field,
        Constant,
        sum,
        maximum,
        first,
        last,
        arrayAgg,
        arrayAggDistinct,
        descending,
        greaterThanOrEqual,
        multiply,
        conditional,
        Ordering,
        AliasedAggregate,
        endsWith,
        AliasedExpression,
        mapMerge,
        mapRemove,
        byteLength,
        logicalMaximum,
        logicalMinimum,
        notEqualAny,
        countAll,
        timestampAdd,
        timestampSubtract,
        timestampToUnixMicros,
        timestampToUnixSeconds,
        unixMicrosToTimestamp,
        timestampToUnixMillis,
        unixSecondsToTimestamp,
        unixMillisToTimestamp,
        pow,
        collectionId,
        length_2 as length,
        ln,
        round,
        sqrt,
        rand,
        trunc,
        stringReverse,
        abs,
        arraySum,
        ifAbsent,
        log10,
        concat,
        join,
        currentTimestamp,
        arrayConcat,
        type,
        isType,
        Type,
        timestampTruncate,
        split,
        ltrim,
        rtrim,
        stringIndexOf,
        stringRepeat,
        stringReplaceAll,
        stringReplaceOne
    }
}
export { Pipelines }

// @beta
class PipelineSnapshot implements firestore.Pipelines.PipelineSnapshot {
    // Warning: (ae-forgotten-export) The symbol "ExplainStats" needs to be exported by the entry point index.d.ts
    constructor(pipeline: Pipeline, results: PipelineResult[], executionTime?: Timestamp, explainStats?: ExplainStats);
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration
    get executionTime(): Timestamp;
    get explainStats(): ExplainStats | undefined;
    get pipeline(): Pipeline;
    get results(): PipelineResult[];
}

// @beta
class PipelineSource implements firestore.Pipelines.PipelineSource {
    constructor(db: Firestore);
    collection(collection: string | firestore.CollectionReference): Pipeline;
    collection(options: firestore.Pipelines.CollectionStageOptions): Pipeline;
    collectionGroup(collectionId: string): Pipeline;
    collectionGroup(options: firestore.Pipelines.CollectionGroupStageOptions): Pipeline;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@FirestoreError" is not defined in this configuration
    createFrom(query: firestore.VectorQuery): Pipeline;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@FirestoreError" is not defined in this configuration
    createFrom(query: firestore.Query): Pipeline;
    database(): Pipeline;
    database(options: firestore.Pipelines.DatabaseStageOptions): Pipeline;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@FirestoreError" is not defined in this configuration
    documents(docs: Array<string | DocumentReference>): Pipeline;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@FirestoreError" is not defined in this configuration
    documents(options: firestore.Pipelines.DocumentsStageOptions): Pipeline;
    // (undocumented)
    _validateReference(reference: firestore.CollectionReference | firestore.DocumentReference): reference is CollectionReference | DocumentReference;
}

// Warning: (tsdoc-undefined-tag) The TSDoc tag "@class" is not defined in this configuration
//
// @public
export class PlanSummary implements firestore.PlanSummary {
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // @internal
    constructor(indexesUsed: Record<string, unknown>[]);
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // @internal (undocumented)
    static _fromProto(plan: IPlanSummary | null | undefined, serializer: Serializer): PlanSummary;
    // (undocumented)
    readonly indexesUsed: Record<string, unknown>[];
}

// @beta
function pow(base: Expression, exponent: Expression): FunctionExpression;

// @beta
function pow(base: Expression, exponent: number): FunctionExpression;

// @beta
function pow(base: string, exponent: Expression): FunctionExpression;

// @beta
function pow(base: string, exponent: number): FunctionExpression;

// Warning: (tsdoc-undefined-tag) The TSDoc tag "@class" is not defined in this configuration
//
// @public
export class Query<AppModelType = firestore.DocumentData, DbModelType extends firestore.DocumentData = firestore.DocumentData> implements firestore.Query<AppModelType, DbModelType> {
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // @internal
    constructor(
    _firestore: Firestore,
    _queryOptions: QueryOptions<AppModelType, DbModelType>);
    aggregate<T extends firestore.AggregateSpec>(aggregateSpec: T): AggregateQuery<T, AppModelType, DbModelType>;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // @internal (undocumented)
    protected readonly _allowUndefined: boolean;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // @internal
    comparator(): (s1: QueryDocumentSnapshot<AppModelType, DbModelType>, s2: QueryDocumentSnapshot<AppModelType, DbModelType>) => number;
    count(): AggregateQuery<{
        count: firestore.AggregateField<number>;
    }, AppModelType, DbModelType>;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // @internal
    _createSnapshot(readTime: Timestamp, size: number, docs: () => Array<QueryDocumentSnapshot<AppModelType, DbModelType>>, changes: () => Array<DocumentChange<AppModelType, DbModelType>>): QuerySnapshot<AppModelType, DbModelType>;
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    endAt(...fieldValuesOrDocumentSnapshot: Array<unknown>): Query<AppModelType, DbModelType>;
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    endBefore(...fieldValuesOrDocumentSnapshot: Array<unknown>): Query<AppModelType, DbModelType>;
    explain(options?: firestore.ExplainOptions): Promise<ExplainResults<QuerySnapshot<AppModelType, DbModelType>>>;
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    explainStream(explainOptions?: firestore.ExplainOptions): NodeJS.ReadableStream;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    // Warning: (ae-forgotten-export) The symbol "FieldOrder" needs to be exported by the entry point index.d.ts
    //
    // @internal
    static _extractFieldValues(documentSnapshot: DocumentSnapshot, fieldOrders: FieldOrder[]): unknown[];
    // @deprecated
    findNearest(vectorField: string | firestore.FieldPath, queryVector: firestore.VectorValue | Array<number>, options: {
        limit: number;
        distanceMeasure: 'EUCLIDEAN' | 'COSINE' | 'DOT_PRODUCT';
    }): VectorQuery<AppModelType, DbModelType>;
    findNearest(options: VectorQueryOptions): VectorQuery<AppModelType, DbModelType>;
    // (undocumented)
    _findNearest(options: VectorQueryOptions): VectorQuery<AppModelType, DbModelType>;
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@name" is not defined in this configuration
    get firestore(): Firestore;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // @internal (undocumented)
    readonly _firestore: Firestore;
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    get(): Promise<QuerySnapshot<AppModelType, DbModelType>>;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // @internal
    _get(transactionOrReadTime?: Uint8Array | Timestamp | api.ITransactionOptions): Promise<QuerySnapshotResponse<QuerySnapshot<AppModelType, DbModelType>>>;
    // (undocumented)
    _getResponse(transactionOrReadTime?: Uint8Array | Timestamp | api.ITransactionOptions, explainOptions?: firestore.ExplainOptions): Promise<QueryResponse<QuerySnapshot<AppModelType, DbModelType>>>;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // @internal
    _hasRetryTimedOut(methodName: string, startTime: number): boolean;
    _isCollectionGroupQuery(): boolean;
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    isEqual(other: firestore.Query<AppModelType, DbModelType>): boolean;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // @internal
    _isPermanentRpcError(err: GoogleError, methodName: string): boolean;
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    limit(limit: number): Query<AppModelType, DbModelType>;
    limitToLast(limit: number): Query<AppModelType, DbModelType>;
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    offset(offset: number): Query<AppModelType, DbModelType>;
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    onSnapshot(onNext: (snapshot: QuerySnapshot<AppModelType, DbModelType>) => void, onError?: (error: Error) => void): () => void;
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    orderBy(fieldPath: string | firestore.FieldPath, directionStr?: firestore.OrderByDirection): Query<AppModelType, DbModelType>;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    // Warning: (ae-forgotten-export) The symbol "CompositeFilter" needs to be exported by the entry point index.d.ts
    //
    // @internal (undocumented)
    _parseCompositeFilter(compositeFilterData: CompositeFilter): FilterInternal;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    // Warning: (ae-forgotten-export) The symbol "UnaryFilter" needs to be exported by the entry point index.d.ts
    // Warning: (ae-forgotten-export) The symbol "FieldFilterInternal" needs to be exported by the entry point index.d.ts
    //
    // @internal (undocumented)
    _parseFieldFilter(fieldFilterData: UnaryFilter): FieldFilterInternal;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    // Warning: (ae-forgotten-export) The symbol "FilterInternal" needs to be exported by the entry point index.d.ts
    //
    // @internal (undocumented)
    _parseFilter(filter: Filter): FilterInternal;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // @internal (undocumented)
    _pipeline(): Pipeline;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    // Warning: (ae-forgotten-export) The symbol "QueryOptions" needs to be exported by the entry point index.d.ts
    //
    // @internal (undocumented)
    readonly _queryOptions: QueryOptions<AppModelType, DbModelType>;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    // Warning: (ae-forgotten-export) The symbol "QueryUtil" needs to be exported by the entry point index.d.ts
    //
    // @internal (undocumented)
    readonly _queryUtil: QueryUtil<AppModelType, DbModelType, Query<AppModelType, DbModelType>>;
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    select(...fieldPaths: Array<string | FieldPath>): Query;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // @internal (undocumented)
    readonly _serializer: Serializer;
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    startAfter(...fieldValuesOrDocumentSnapshot: Array<unknown>): Query<AppModelType, DbModelType>;
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    startAt(...fieldValuesOrDocumentSnapshot: Array<unknown>): Query<AppModelType, DbModelType>;
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    stream(): NodeJS.ReadableStream;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // @internal
    _stream(transactionOrReadTime?: Uint8Array | Timestamp | api.ITransactionOptions, explainOptions?: firestore.ExplainOptions): NodeJS.ReadableStream;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // @internal
    _toBundledQuery(): protos.firestore.IBundledQuery;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // @internal
    toProto(transactionOrReadTime?: Uint8Array | Timestamp | api.ITransactionOptions, explainOptions?: firestore.ExplainOptions): api.IRunQueryRequest;
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    where(fieldPath: string | FieldPath, opStr: firestore.WhereFilterOp, value: unknown): Query<AppModelType, DbModelType>;
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    where(filter: Filter): Query<AppModelType, DbModelType>;
    // (undocumented)
    withConverter<NewAppModelType, NewDbModelType extends firestore.DocumentData = firestore.DocumentData>(converter: firestore.FirestoreDataConverter<NewAppModelType, NewDbModelType> | null): Query<NewAppModelType, NewDbModelType>;
}

// Warning: (tsdoc-undefined-tag) The TSDoc tag "@class" is not defined in this configuration
// Warning: (tsdoc-undefined-tag) The TSDoc tag "@extends" is not defined in this configuration
//
// @public
export class QueryDocumentSnapshot<AppModelType = firestore.DocumentData, DbModelType extends firestore.DocumentData = firestore.DocumentData> extends DocumentSnapshot<AppModelType, DbModelType> implements firestore.QueryDocumentSnapshot<AppModelType, DbModelType> {
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@name" is not defined in this configuration
    //
    // @override
    get createTime(): Timestamp;
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    //
    // @override
    data(): AppModelType;
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@name" is not defined in this configuration
    //
    // @override
    get updateTime(): Timestamp;
}

// Warning: (tsdoc-undefined-tag) The TSDoc tag "@class" is not defined in this configuration
//
// @public
export class QueryPartition<AppModelType = firestore.DocumentData, DbModelType extends firestore.DocumentData = firestore.DocumentData> implements firestore.QueryPartition<AppModelType, DbModelType> {
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    constructor(_firestore: Firestore, _collectionId: string, _converter: firestore.FirestoreDataConverter<AppModelType, DbModelType>, _startAt: api.IValue[] | undefined, _endBefore: api.IValue[] | undefined);
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    get endBefore(): unknown[] | undefined;
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    get startAt(): unknown[] | undefined;
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    toQuery(): Query<AppModelType, DbModelType>;
}

// Warning: (tsdoc-undefined-tag) The TSDoc tag "@class" is not defined in this configuration
//
// @public
export class QuerySnapshot<AppModelType = firestore.DocumentData, DbModelType extends firestore.DocumentData = firestore.DocumentData> implements firestore.QuerySnapshot<AppModelType, DbModelType> {
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    constructor(_query: Query<AppModelType, DbModelType>, _readTime: Timestamp, _size: number, docs: () => Array<QueryDocumentSnapshot<AppModelType, DbModelType>>, changes: () => Array<DocumentChange<AppModelType, DbModelType>>);
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    docChanges(): Array<DocumentChange<AppModelType, DbModelType>>;
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@name" is not defined in this configuration
    get docs(): Array<QueryDocumentSnapshot<AppModelType, DbModelType>>;
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@name" is not defined in this configuration
    get empty(): boolean;
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    forEach(callback: (result: firestore.QueryDocumentSnapshot<AppModelType, DbModelType>) => void, thisArg?: unknown): void;
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    isEqual(other: firestore.QuerySnapshot<AppModelType, DbModelType>): boolean;
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@name" is not defined in this configuration
    get query(): Query<AppModelType, DbModelType>;
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@name" is not defined in this configuration
    get readTime(): Timestamp;
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@name" is not defined in this configuration
    get size(): number;
}

// @beta
function rand(): FunctionExpression;

// @beta
function regexContains(fieldName: string, pattern: string): BooleanExpression;

// @beta
function regexContains(fieldName: string, pattern: Expression): BooleanExpression;

// @beta
function regexContains(stringExpression: Expression, pattern: string): BooleanExpression;

// @beta
function regexContains(stringExpression: Expression, pattern: Expression): BooleanExpression;

// @beta
function regexFind(fieldName: string, pattern: string): FunctionExpression;

// @beta
function regexFind(fieldName: string, pattern: Expression): FunctionExpression;

// @beta
function regexFind(stringExpression: Expression, pattern: string): FunctionExpression;

// @beta
function regexFind(stringExpression: Expression, pattern: Expression): FunctionExpression;

// @beta
function regexFindAll(fieldName: string, pattern: string): FunctionExpression;

// @beta
function regexFindAll(fieldName: string, pattern: Expression): FunctionExpression;

// @beta
function regexFindAll(stringExpression: Expression, pattern: string): FunctionExpression;

// @beta
function regexFindAll(stringExpression: Expression, pattern: Expression): FunctionExpression;

// @beta
function regexMatch(fieldName: string, pattern: string): BooleanExpression;

// @beta
function regexMatch(fieldName: string, pattern: Expression): BooleanExpression;

// @beta
function regexMatch(stringExpression: Expression, pattern: string): BooleanExpression;

// @beta
function regexMatch(stringExpression: Expression, pattern: Expression): BooleanExpression;

// @beta
function reverse(stringExpression: Expression): FunctionExpression;

// @beta
function reverse(field: string): FunctionExpression;

// @beta
function round(fieldName: string): FunctionExpression;

// @beta
function round(expression: Expression): FunctionExpression;

// @beta
function round(fieldName: string, decimalPlaces: number | Expression): FunctionExpression;

// @beta
function round(expression: Expression, decimalPlaces: number | Expression): FunctionExpression;

// @beta
function rtrim(fieldName: string, valueToTrim?: string | Expression | Uint8Array | Buffer): FunctionExpression;

// @beta
function rtrim(expression: Expression, valueToTrim?: string | Expression | Uint8Array | Buffer): FunctionExpression;

// @public
export function setLogFunction(logger: ((msg: string) => void) | null): void;

// @beta
function split(fieldName: string, delimiter: string): FunctionExpression;

// @beta
function split(fieldName: string, delimiter: Expression): FunctionExpression;

// @beta
function split(expression: Expression, delimiter: string): FunctionExpression;

// @beta
function split(expression: Expression, delimiter: Expression): FunctionExpression;

// @beta
function sqrt(expression: Expression): FunctionExpression;

// @beta
function sqrt(fieldName: string): FunctionExpression;

// @beta
function startsWith(fieldName: string, prefix: string): BooleanExpression;

// @beta
function startsWith(fieldName: string, prefix: Expression): BooleanExpression;

// @beta
function startsWith(stringExpression: Expression, prefix: string): BooleanExpression;

// @beta
function startsWith(stringExpression: Expression, prefix: Expression): BooleanExpression;

// @beta
function stringConcat(fieldName: string, secondString: Expression | string, ...otherStrings: Array<Expression | string>): FunctionExpression;

// @beta
function stringConcat(firstString: Expression, secondString: Expression | string, ...otherStrings: Array<Expression | string>): FunctionExpression;

// @beta
function stringContains(fieldName: string, substring: string): BooleanExpression;

// @beta
function stringContains(fieldName: string, substring: Expression): BooleanExpression;

// @beta
function stringContains(stringExpression: Expression, substring: string): BooleanExpression;

// @beta
function stringContains(stringExpression: Expression, substring: Expression): BooleanExpression;

// @beta
function stringIndexOf(fieldName: string, search: string | Expression | Uint8Array | Buffer): FunctionExpression;

// @beta
function stringIndexOf(expression: Expression, search: string | Expression | Uint8Array | Buffer): FunctionExpression;

// @beta
function stringRepeat(fieldName: string, repetitions: number | Expression): FunctionExpression;

// @beta
function stringRepeat(expression: Expression, repetitions: number | Expression): FunctionExpression;

// @beta
function stringReplaceAll(fieldName: string, find: string | Expression | Uint8Array | Buffer, replacement: string | Expression | Uint8Array | Buffer): FunctionExpression;

// @beta
function stringReplaceAll(expression: Expression, find: string | Expression | Uint8Array | Buffer, replacement: string | Expression | Uint8Array | Buffer): FunctionExpression;

// @beta
function stringReplaceOne(fieldName: string, find: string | Expression | Uint8Array | Buffer, replacement: string | Expression | Uint8Array | Buffer): FunctionExpression;

// @beta
function stringReplaceOne(expression: Expression, find: string | Expression | Uint8Array | Buffer, replacement: string | Expression | Uint8Array | Buffer): FunctionExpression;

// @beta
function stringReverse(stringExpression: Expression): FunctionExpression;

// @beta
function stringReverse(field: string): FunctionExpression;

// @beta
function substring(field: string, position: number, length?: number): FunctionExpression;

// @beta
function substring(input: Expression, position: number, length?: number): FunctionExpression;

// @beta
function substring(field: string, position: Expression, length?: Expression): FunctionExpression;

// @beta
function substring(input: Expression, position: Expression, length?: Expression): FunctionExpression;

// @beta
function subtract(minuend: Expression, subtrahend: Expression): FunctionExpression;

// @beta
function subtract(minuend: Expression, subtrahend: unknown): FunctionExpression;

// @beta
function subtract(minuendFieldName: string, subtrahend: Expression): FunctionExpression;

// @beta
function subtract(minuendFieldName: string, subtrahend: unknown): FunctionExpression;

// @beta
function sum(expression: Expression): AggregateFunction;

// @beta
function sum(fieldName: string): AggregateFunction;

// @public
export class Timestamp implements firestore.Timestamp {
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    constructor(seconds: number, nanoseconds: number);
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    static fromDate(date: Date): Timestamp;
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    static fromMillis(milliseconds: number): Timestamp;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    //
    // @internal
    static fromProto(timestamp: google.protobuf.ITimestamp): Timestamp;
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    isEqual(other: firestore.Timestamp): boolean;
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration
    get nanoseconds(): number;
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    static now(): Timestamp;
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration
    get seconds(): number;
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    toDate(): Date;
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    toMillis(): number;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    //
    // @internal
    toProto(): api.IValue;
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    valueOf(): string;
}

// @beta
function timestampAdd(timestamp: Expression, unit: Expression, amount: Expression): FunctionExpression;

// @beta
function timestampAdd(timestamp: Expression, unit: 'microsecond' | 'millisecond' | 'second' | 'minute' | 'hour' | 'day', amount: number): FunctionExpression;

// @beta
function timestampAdd(fieldName: string, unit: 'microsecond' | 'millisecond' | 'second' | 'minute' | 'hour' | 'day', amount: number): FunctionExpression;

// @beta
function timestampSubtract(timestamp: Expression, unit: Expression, amount: Expression): FunctionExpression;

// @beta
function timestampSubtract(timestamp: Expression, unit: 'microsecond' | 'millisecond' | 'second' | 'minute' | 'hour' | 'day', amount: number): FunctionExpression;

// @beta
function timestampSubtract(fieldName: string, unit: 'microsecond' | 'millisecond' | 'second' | 'minute' | 'hour' | 'day', amount: number): FunctionExpression;

// @beta
function timestampToUnixMicros(expr: Expression): FunctionExpression;

// @beta
function timestampToUnixMicros(fieldName: string): FunctionExpression;

// @beta
function timestampToUnixMillis(expr: Expression): FunctionExpression;

// @beta
function timestampToUnixMillis(fieldName: string): FunctionExpression;

// @beta
function timestampToUnixSeconds(expr: Expression): FunctionExpression;

// @beta
function timestampToUnixSeconds(fieldName: string): FunctionExpression;

// Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
// Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
// Warning: (ae-incompatible-release-tags) The symbol "timestampTruncate" is marked as @public, but its signature references "Expression" which is marked as @beta
// Warning: (ae-incompatible-release-tags) The symbol "timestampTruncate" is marked as @public, but its signature references "FunctionExpression" which is marked as @beta
// Warning: (ae-incompatible-release-tags) The symbol "timestampTruncate" is marked as @public, but its signature references "Expression" which is marked as @beta
// Warning: (ae-incompatible-release-tags) The symbol "timestampTruncate" is marked as @public, but its signature references "FunctionExpression" which is marked as @beta
//
// @public
function timestampTruncate(fieldName: string, granularity: firestore.Pipelines.TimeGranularity, timezone?: string | Expression): FunctionExpression;

// Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
// Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
// Warning: (ae-incompatible-release-tags) The symbol "timestampTruncate" is marked as @public, but its signature references "Expression" which is marked as @beta
// Warning: (ae-incompatible-release-tags) The symbol "timestampTruncate" is marked as @public, but its signature references "FunctionExpression" which is marked as @beta
// Warning: (ae-incompatible-release-tags) The symbol "timestampTruncate" is marked as @public, but its signature references "Expression" which is marked as @beta
// Warning: (ae-incompatible-release-tags) The symbol "timestampTruncate" is marked as @public, but its signature references "FunctionExpression" which is marked as @beta
//
// @public
function timestampTruncate(fieldName: string, granularity: Expression, timezone?: string | Expression): FunctionExpression;

// Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
// Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
// Warning: (ae-incompatible-release-tags) The symbol "timestampTruncate" is marked as @public, but its signature references "Expression" which is marked as @beta
// Warning: (ae-incompatible-release-tags) The symbol "timestampTruncate" is marked as @public, but its signature references "FunctionExpression" which is marked as @beta
// Warning: (ae-incompatible-release-tags) The symbol "timestampTruncate" is marked as @public, but its signature references "Expression" which is marked as @beta
// Warning: (ae-incompatible-release-tags) The symbol "timestampTruncate" is marked as @public, but its signature references "FunctionExpression" which is marked as @beta
//
// @public
function timestampTruncate(timestampExpression: Expression, granularity: firestore.Pipelines.TimeGranularity, timezone?: string | Expression): FunctionExpression;

// Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
// Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
// Warning: (ae-incompatible-release-tags) The symbol "timestampTruncate" is marked as @public, but its signature references "Expression" which is marked as @beta
// Warning: (ae-incompatible-release-tags) The symbol "timestampTruncate" is marked as @public, but its signature references "FunctionExpression" which is marked as @beta
// Warning: (ae-incompatible-release-tags) The symbol "timestampTruncate" is marked as @public, but its signature references "Expression" which is marked as @beta
// Warning: (ae-incompatible-release-tags) The symbol "timestampTruncate" is marked as @public, but its signature references "FunctionExpression" which is marked as @beta
//
// @public
function timestampTruncate(timestampExpression: Expression, granularity: Expression, timezone?: string | Expression): FunctionExpression;

// @beta
function toLower(fieldName: string): FunctionExpression;

// @beta
function toLower(stringExpression: Expression): FunctionExpression;

// @beta
function toUpper(fieldName: string): FunctionExpression;

// @beta
function toUpper(stringExpression: Expression): FunctionExpression;

// Warning: (tsdoc-undefined-tag) The TSDoc tag "@class" is not defined in this configuration
//
// @public
export class Transaction implements firestore.Transaction {
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    constructor(firestore: Firestore, requestTag: string, transactionOptions?: firestore.ReadWriteTransactionOptions | firestore.ReadOnlyTransactionOptions);
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // @internal
    commit(): Promise<void>;
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    create<AppModelType, DbModelType extends firestore.DocumentData>(documentRef: firestore.DocumentReference<AppModelType, DbModelType>, data: firestore.WithFieldValue<AppModelType>): Transaction;
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    // Warning: (tsdoc-param-tag-with-invalid-name) The @param block should be followed by a valid parameter name: The identifier cannot non-word characters
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    // Warning: (tsdoc-param-tag-with-invalid-name) The @param block should be followed by a valid parameter name: The identifier cannot non-word characters
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    delete(documentRef: DocumentReference<any, any>, precondition?: firestore.Precondition): this;
    // Warning: (ae-incompatible-release-tags) The symbol "execute" is marked as @public, but its signature references "Pipeline" which is marked as @beta
    // Warning: (ae-incompatible-release-tags) The symbol "execute" is marked as @public, but its signature references "PipelineSnapshot" which is marked as @beta
    execute(pipeline: Pipeline): Promise<PipelineSnapshot>;
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    get<AppModelType, DbModelType extends firestore.DocumentData>(query: firestore.Query<AppModelType, DbModelType>): Promise<QuerySnapshot<AppModelType, DbModelType>>;
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    get<AppModelType, DbModelType extends firestore.DocumentData>(documentRef: firestore.DocumentReference<AppModelType, DbModelType>): Promise<DocumentSnapshot<AppModelType, DbModelType>>;
    get<AppModelType, DbModelType extends firestore.DocumentData, AggregateSpecType extends firestore.AggregateSpec>(aggregateQuery: firestore.AggregateQuery<AggregateSpecType, AppModelType, DbModelType>): Promise<AggregateQuerySnapshot<AggregateSpecType, AppModelType, DbModelType>>;
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    getAll<AppModelType, DbModelType extends firestore.DocumentData>(...documentRefsOrReadOptions: Array<firestore.DocumentReference<AppModelType, DbModelType> | firestore.ReadOptions>): Promise<Array<DocumentSnapshot<AppModelType, DbModelType>>>;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // @internal
    rollback(): Promise<void>;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // @internal
    runTransaction<T>(updateFunction: (transaction: Transaction) => Promise<T>): Promise<T>;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // @internal
    runTransactionOnce<T>(updateFunction: (transaction: Transaction) => Promise<T>): Promise<T>;
    // (undocumented)
    set<AppModelType, DbModelType extends firestore.DocumentData>(documentRef: firestore.DocumentReference<AppModelType, DbModelType>, data: firestore.PartialWithFieldValue<AppModelType>, options: firestore.SetOptions): Transaction;
    // (undocumented)
    set<AppModelType, DbModelType extends firestore.DocumentData>(documentRef: firestore.DocumentReference<AppModelType, DbModelType>, data: firestore.WithFieldValue<AppModelType>): Transaction;
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    update<AppModelType, DbModelType extends firestore.DocumentData>(documentRef: firestore.DocumentReference<AppModelType, DbModelType>, dataOrField: firestore.UpdateData<DbModelType> | string | firestore.FieldPath, ...preconditionOrValues: Array<firestore.Precondition | unknown | string | firestore.FieldPath>): Transaction;
}

// @beta
function trim(fieldName: string, valueToTrim?: string | Expression): FunctionExpression;

// @beta
function trim(stringExpression: Expression, valueToTrim?: string | Expression): FunctionExpression;

// @beta
function trunc(fieldName: string): FunctionExpression;

// @beta
function trunc(expression: Expression): FunctionExpression;

// @beta
function trunc(fieldName: string, decimalPlaces: number | Expression): FunctionExpression;

// @beta
function trunc(expression: Expression, decimalPlaces: number | Expression): FunctionExpression;

// @beta
type Type = 'null' | 'array' | 'boolean' | 'bytes' | 'timestamp' | 'geo_point' | 'number' | 'int32' | 'int64' | 'float64' | 'decimal128' | 'map' | 'reference' | 'string' | 'vector' | 'max_key' | 'min_key' | 'object_id' | 'regex' | 'request_timestamp';

// Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
// Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
//
// @beta
function type(fieldName: string): FunctionExpression;

// Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
// Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
//
// @beta
function type(expression: Expression): FunctionExpression;

// @beta
function unixMicrosToTimestamp(expr: Expression): FunctionExpression;

// @beta
function unixMicrosToTimestamp(fieldName: string): FunctionExpression;

// @beta
function unixMillisToTimestamp(expr: Expression): FunctionExpression;

// @beta
function unixMillisToTimestamp(fieldName: string): FunctionExpression;

// @beta
function unixSecondsToTimestamp(expr: Expression): FunctionExpression;

// @beta
function unixSecondsToTimestamp(fieldName: string): FunctionExpression;

// @beta
function vectorLength(vectorExpression: Expression): FunctionExpression;

// @beta
function vectorLength(fieldName: string): FunctionExpression;

// @public
export class VectorQuery<AppModelType = firestore.DocumentData, DbModelType extends firestore.DocumentData = firestore.DocumentData> implements firestore.VectorQuery<AppModelType, DbModelType> {
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // @internal
    constructor(_query: Query<AppModelType, DbModelType>, _options: VectorQueryOptions);
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // @internal
    _createSnapshot(readTime: Timestamp, size: number, docs: () => Array<QueryDocumentSnapshot<AppModelType, DbModelType>>, changes: () => Array<DocumentChange<AppModelType, DbModelType>>): VectorQuerySnapshot<AppModelType, DbModelType>;
    explain(options?: firestore.ExplainOptions): Promise<ExplainResults<VectorQuerySnapshot<AppModelType, DbModelType>>>;
    get(): Promise<VectorQuerySnapshot<AppModelType, DbModelType>>;
    // (undocumented)
    _getResponse(explainOptions?: firestore.ExplainOptions): Promise<QueryResponse<VectorQuerySnapshot<AppModelType, DbModelType>>>;
    isEqual(other: firestore.VectorQuery<AppModelType, DbModelType>): boolean;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // @internal (undocumented)
    _pipeline(): Pipeline;
    get query(): Query<AppModelType, DbModelType>;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // @internal (undocumented)
    readonly _queryUtil: QueryUtil<AppModelType, DbModelType, VectorQuery<AppModelType, DbModelType>>;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // @internal
    startAfter(...fieldValuesOrDocumentSnapshot: Array<unknown>): VectorQuery<AppModelType, DbModelType>;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // @internal
    _stream(transactionId?: Uint8Array): NodeJS.ReadableStream;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // @internal
    toProto(transactionOrReadTime?: Uint8Array | Timestamp | api.ITransactionOptions, explainOptions?: firestore.ExplainOptions): api.IRunQueryRequest;
}

// @public
export interface VectorQueryOptions {
    distanceMeasure: 'EUCLIDEAN' | 'COSINE' | 'DOT_PRODUCT';
    distanceResultField?: string | firestore.FieldPath;
    distanceThreshold?: number;
    limit: number;
    queryVector: firestore.VectorValue | Array<number>;
    vectorField: string | firestore.FieldPath;
}

// @public
export class VectorQuerySnapshot<AppModelType = firestore.DocumentData, DbModelType extends firestore.DocumentData = firestore.DocumentData> implements firestore.VectorQuerySnapshot<AppModelType, DbModelType> {
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // @internal
    constructor(_query: VectorQuery<AppModelType, DbModelType>, _readTime: Timestamp, _size: number, docs: () => Array<QueryDocumentSnapshot<AppModelType, DbModelType>>, changes: () => Array<DocumentChange<AppModelType, DbModelType>>);
    docChanges(): Array<DocumentChange<AppModelType, DbModelType>>;
    get docs(): Array<QueryDocumentSnapshot<AppModelType, DbModelType>>;
    get empty(): boolean;
    forEach(callback: (result: firestore.QueryDocumentSnapshot<AppModelType, DbModelType>) => void, thisArg?: unknown): void;
    isEqual(other: firestore.VectorQuerySnapshot<AppModelType, DbModelType>): boolean;
    get query(): VectorQuery<AppModelType, DbModelType>;
    get readTime(): Timestamp;
    get size(): number;
}

// Warning: (tsdoc-undefined-tag) The TSDoc tag "@class" is not defined in this configuration
//
// @public
export class VectorValue implements firestore.VectorValue {
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // @internal
    constructor(values: number[] | undefined);
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // @internal (undocumented)
    static _fromProto(valueArray: api.IValue): VectorValue;
    isEqual(other: VectorValue): boolean;
    toArray(): number[];
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // @internal (undocumented)
    _toProto(serializer: Serializer): api.IValue;
}

// Warning: (tsdoc-undefined-tag) The TSDoc tag "@class" is not defined in this configuration
//
// @public
export class WriteBatch implements firestore.WriteBatch {
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    constructor(firestore: Firestore);
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    commit(): Promise<WriteResult[]>;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    // Warning: (tsdoc-param-tag-with-invalid-name) The @param block should be followed by a valid parameter name: The identifier cannot non-word characters
    // Warning: (tsdoc-param-tag-with-invalid-name) The @param block should be followed by a valid parameter name: The identifier cannot non-word characters
    //
    // @internal
    _commit<Req extends api.ICommitRequest, Resp>(commitOptions?: {
        transactionId?: Uint8Array;
        requestTag?: string;
        retryCodes?: number[];
        methodName?: FirestoreUnaryMethod;
    }): Promise<Resp>;
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    create<AppModelType, DbModelType extends firestore.DocumentData>(documentRef: firestore.DocumentReference<AppModelType, DbModelType>, data: firestore.WithFieldValue<AppModelType>): WriteBatch;
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    // Warning: (tsdoc-param-tag-with-invalid-name) The @param block should be followed by a valid parameter name: The identifier cannot non-word characters
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    // Warning: (tsdoc-param-tag-with-invalid-name) The @param block should be followed by a valid parameter name: The identifier cannot non-word characters
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    delete(documentRef: firestore.DocumentReference<any, any>, precondition?: firestore.Precondition): WriteBatch;
    // (undocumented)
    protected readonly _firestore: Firestore;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // @internal
    get isEmpty(): boolean;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // @internal
    get _opCount(): number;
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    //
    // @internal
    _reset(): void;
    // (undocumented)
    set<AppModelType, DbModelType extends firestore.DocumentData>(documentRef: firestore.DocumentReference<AppModelType, DbModelType>, data: firestore.PartialWithFieldValue<AppModelType>, options: firestore.SetOptions): WriteBatch;
    // (undocumented)
    set<AppModelType, DbModelType extends firestore.DocumentData>(documentRef: firestore.DocumentReference<AppModelType, DbModelType>, data: firestore.WithFieldValue<AppModelType>): WriteBatch;
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    update<AppModelType = firestore.DocumentData, DbModelType extends firestore.DocumentData = firestore.DocumentData>(documentRef: firestore.DocumentReference<AppModelType, DbModelType>, dataOrField: firestore.UpdateData<DbModelType> | string | firestore.FieldPath, ...preconditionOrValues: Array<{
        lastUpdateTime?: firestore.Timestamp;
    } | unknown | string | firestore.FieldPath>): WriteBatch;
}

// Warning: (tsdoc-undefined-tag) The TSDoc tag "@class" is not defined in this configuration
//
// @public
export class WriteResult implements firestore.WriteResult {
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
    constructor(_writeTime: Timestamp);
    // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
    isEqual(other: firestore.WriteResult): boolean;
    // Warning: (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
    // Warning: (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@type" is not defined in this configuration
    // Warning: (tsdoc-undefined-tag) The TSDoc tag "@name" is not defined in this configuration
    get writeTime(): Timestamp;
}

// @beta
function xor(first: BooleanExpression, second: BooleanExpression, ...additionalConditions: BooleanExpression[]): BooleanExpression;

// Warnings were encountered during analysis:
//
// build/types/src/bulk-writer.d.ts:49:4 - (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
// build/types/src/bulk-writer.d.ts:83:4 - (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
// build/types/src/bulk-writer.d.ts:146:8 - (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
// build/types/src/bulk-writer.d.ts:153:8 - (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
// build/types/src/bulk-writer.d.ts:160:8 - (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
// build/types/src/bulk-writer.d.ts:168:8 - (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
// build/types/src/bulk-writer.d.ts:183:8 - (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
// build/types/src/bulk-writer.d.ts:190:8 - (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
// build/types/src/bulk-writer.d.ts:199:8 - (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
// build/types/src/bulk-writer.d.ts:217:8 - (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
// build/types/src/bulk-writer.d.ts:229:8 - (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
// build/types/src/bulk-writer.d.ts:236:8 - (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
// build/types/src/bulk-writer.d.ts:490:8 - (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
// build/types/src/bulk-writer.d.ts:496:8 - (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
// build/types/src/bulk-writer.d.ts:503:8 - (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
// build/types/src/bulk-writer.d.ts:509:8 - (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
// build/types/src/bulk-writer.d.ts:516:8 - (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
// build/types/src/bundle.d.ts:19:8 - (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
// build/types/src/filter.d.ts:120:4 - (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
// build/types/src/filter.d.ts:155:4 - (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
// build/types/src/index.d.ts:299:8 - (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
// build/types/src/index.d.ts:319:8 - (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
// build/types/src/index.d.ts:326:8 - (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
// build/types/src/index.d.ts:347:8 - (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
// build/types/src/index.d.ts:354:8 - (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
// build/types/src/index.d.ts:363:8 - (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
// build/types/src/index.d.ts:371:8 - (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
// build/types/src/index.d.ts:378:8 - (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
// build/types/src/index.d.ts:387:8 - (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
// build/types/src/index.d.ts:881:8 - (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
// build/types/src/index.d.ts:900:8 - (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
// build/types/src/index.d.ts:915:8 - (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
// build/types/src/path.d.ts:29:4 - (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
// build/types/src/path.d.ts:31:4 - (tsdoc-undefined-tag) The TSDoc tag "@class" is not defined in this configuration
// build/types/src/path.d.ts:146:4 - (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
// build/types/src/path.d.ts:338:8 - (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
// build/types/src/rate-limiter.d.ts:13:4 - (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
// build/types/src/reference/aggregate-query.d.ts:86:8 - (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
// build/types/src/reference/field-filter-internal.d.ts:24:4 - (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
// build/types/src/reference/field-filter-internal.d.ts:26:4 - (tsdoc-undefined-tag) The TSDoc tag "@class" is not defined in this configuration
// build/types/src/reference/field-order.d.ts:22:4 - (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
// build/types/src/reference/field-order.d.ts:24:4 - (tsdoc-undefined-tag) The TSDoc tag "@class" is not defined in this configuration
// build/types/src/reference/query-options.d.ts:27:4 - (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
// build/types/src/reference/query.d.ts:441:8 - (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
// build/types/src/reference/query.d.ts:452:8 - (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
// build/types/src/reference/query.d.ts:454:15 - (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
// build/types/src/reference/query.d.ts:456:15 - (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}'
// build/types/src/reference/query.d.ts:460:24 - (tsdoc-escape-right-brace) The "}" character should be escaped using a backslash to avoid confusion with a TSDoc inline tag
// build/types/src/reference/query.d.ts:460:17 - (tsdoc-malformed-inline-tag) Expecting a TSDoc tag starting with "{@"
// build/types/src/reference/query.d.ts:473:8 - (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
// build/types/src/reference/query.d.ts:660:8 - (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
// build/types/src/reference/vector-query.d.ts:51:8 - (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
// build/types/src/reference/vector-query.d.ts:56:8 - (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
// build/types/src/reference/vector-query.d.ts:61:8 - (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
// build/types/src/serializer.d.ts:30:4 - (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
// build/types/src/serializer.d.ts:40:4 - (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
// build/types/src/telemetry/trace-util.d.ts:67:4 - (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
// build/types/src/write-batch.d.ts:85:8 - (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration
// build/types/src/write-batch.d.ts:108:8 - (tsdoc-undefined-tag) The TSDoc tag "@private" is not defined in this configuration

// (No @packageDocumentation comment for this package)