Skip to content

Latest commit

 

History

History
1299 lines (1021 loc) · 45.6 KB

firestore-pipelines.api.md

File metadata and controls

1299 lines (1021 loc) · 45.6 KB

API Report File for "@firebase/firestore-pipelines"

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

import { FirebaseApp } from '@firebase/app';

// @beta
export function add(first: Expr, second: Expr | unknown, ...others: Array<Expr | unknown>): FunctionExpr;

// @beta
export function add(fieldName: string, second: Expr | unknown, ...others: Array<Expr | unknown>): FunctionExpr;

// @beta (undocumented)
export class AddFields implements Stage {
    constructor(fields: Map<string, Expr>);
    // (undocumented)
    name: string;
}

// @beta (undocumented)
export class Aggregate implements Stage {
    constructor(accumulators: Map<string, AggregateFunction>, groups: Map<string, Expr>);
    // (undocumented)
    name: string;
}

// @beta
export class AggregateFunction {
    constructor(name: string, params: Expr[]);
    as(name: string): AggregateWithAlias;
    // (undocumented)
    exprType: ExprType;
    }

// @beta
export class AggregateWithAlias {
    constructor(aggregate: AggregateFunction, alias: string);
    // (undocumented)
    readonly aggregate: AggregateFunction;
    // (undocumented)
    readonly alias: string;
}

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

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

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

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

// @beta
export function arrayContains(array: Expr, element: Expr): FunctionExpr;

// @beta
export function arrayContains(array: Expr, element: unknown): FunctionExpr;

// @beta
export function arrayContains(fieldName: string, element: Expr): FunctionExpr;

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

// @beta
export function arrayContainsAll(array: Expr, values: Array<Expr | unknown>): BooleanExpr;

// @beta
export function arrayContainsAll(fieldName: string, values: Array<Expr | unknown>): BooleanExpr;

// @beta
export function arrayContainsAll(array: Expr, arrayExpression: Expr): BooleanExpr;

// @beta
export function arrayContainsAll(fieldName: string, arrayExpression: Expr): BooleanExpr;

// @beta
export function arrayContainsAny(array: Expr, values: Array<Expr | unknown>): BooleanExpr;

// @beta
export function arrayContainsAny(fieldName: string, values: Array<Expr | unknown>): BooleanExpr;

// @beta
export function arrayContainsAny(array: Expr, values: Expr): BooleanExpr;

// @beta
export function arrayContainsAny(fieldName: string, values: Expr): BooleanExpr;

// @beta
export function arrayLength(array: Expr): FunctionExpr;

// @beta
export function arrayOffset(arrayField: string, offset: number): FunctionExpr;

// @beta
export function arrayOffset(arrayField: string, offsetExpr: Expr): FunctionExpr;

// @beta
export function arrayOffset(arrayExpression: Expr, offset: number): FunctionExpr;

// @beta
export function arrayOffset(arrayExpression: Expr, offsetExpr: Expr): FunctionExpr;

// @beta
export function ascending(expr: Expr): Ordering;

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

// @beta
export function avg(expression: Expr): AggregateFunction;

// @beta
export function avg(fieldName: string): AggregateFunction;

// Warning: (ae-forgotten-export) The symbol "Bytes" needs to be exported by the entry point pipelines.d.ts
//
// @beta
export function bitAnd(field: string, otherBits: number | Bytes): FunctionExpr;

// @beta
export function bitAnd(field: string, bitsExpression: Expr): FunctionExpr;

// @beta
export function bitAnd(bitsExpression: Expr, otherBits: number | Bytes): FunctionExpr;

// @beta
export function bitAnd(bitsExpression: Expr, otherBitsExpression: Expr): FunctionExpr;

// @beta
export function bitLeftShift(field: string, y: number): FunctionExpr;

// @beta
export function bitLeftShift(field: string, numberExpr: Expr): FunctionExpr;

// @beta
export function bitLeftShift(xValue: Expr, y: number): FunctionExpr;

// @beta
export function bitLeftShift(xValue: Expr, numberExpr: Expr): FunctionExpr;

// @beta
export function bitNot(field: string): FunctionExpr;

// @beta
export function bitNot(bitsValueExpression: Expr): FunctionExpr;

// @beta
export function bitOr(field: string, otherBits: number | Bytes): FunctionExpr;

// @beta
export function bitOr(field: string, bitsExpression: Expr): FunctionExpr;

// @beta
export function bitOr(bitsExpression: Expr, otherBits: number | Bytes): FunctionExpr;

// @beta
export function bitOr(bitsExpression: Expr, otherBitsExpression: Expr): FunctionExpr;

// @beta
export function bitRightShift(field: string, y: number): FunctionExpr;

// @beta
export function bitRightShift(field: string, numberExpr: Expr): FunctionExpr;

// @beta
export function bitRightShift(xValue: Expr, y: number): FunctionExpr;

// @beta
export function bitRightShift(xValue: Expr, numberExpr: Expr): FunctionExpr;

// @beta
export function bitXor(field: string, otherBits: number | Bytes): FunctionExpr;

// @beta
export function bitXor(field: string, bitsExpression: Expr): FunctionExpr;

// @beta
export function bitXor(bitsExpression: Expr, otherBits: number | Bytes): FunctionExpr;

// @beta
export function bitXor(bitsExpression: Expr, otherBitsExpression: Expr): FunctionExpr;

// @beta
export class BooleanExpr extends FunctionExpr {
    countIf(): AggregateFunction;
    // (undocumented)
    filterable: true;
    not(): BooleanExpr;
}

// @beta
export function byteLength(expr: Expr): FunctionExpr;

// @beta
export function byteLength(fieldName: string): FunctionExpr;

// @beta
export function charLength(fieldName: string): FunctionExpr;

// @beta
export function charLength(stringExpression: Expr): FunctionExpr;

// @beta (undocumented)
export class CollectionGroupSource implements Stage {
    constructor(collectionId: string);
    // (undocumented)
    name: string;
}

// @beta (undocumented)
export class CollectionSource implements Stage {
    constructor(collectionPath: string);
    // (undocumented)
    name: string;
}

// @beta
export function cond(condition: BooleanExpr, thenExpr: Expr, elseExpr: Expr): FunctionExpr;

// @beta
export class Constant extends Expr {
    // (undocumented)
    readonly exprType: ExprType;
    }

// Warning: (ae-incompatible-release-tags) The symbol "constant" is marked as @public, but its signature references "Constant" which is marked as @beta
//
// @public
export function constant(value: number): Constant;

// Warning: (ae-incompatible-release-tags) The symbol "constant" is marked as @public, but its signature references "Constant" which is marked as @beta
//
// @public
export function constant(value: string): Constant;

// Warning: (ae-incompatible-release-tags) The symbol "constant" is marked as @public, but its signature references "Constant" which is marked as @beta
//
// @public
export function constant(value: boolean): Constant;

// Warning: (ae-incompatible-release-tags) The symbol "constant" is marked as @public, but its signature references "Constant" which is marked as @beta
//
// @public
export function constant(value: null): Constant;

// Warning: (ae-forgotten-export) The symbol "GeoPoint" needs to be exported by the entry point pipelines.d.ts
// Warning: (ae-incompatible-release-tags) The symbol "constant" is marked as @public, but its signature references "Constant" which is marked as @beta
//
// @public
export function constant(value: GeoPoint): Constant;

// Warning: (ae-forgotten-export) The symbol "Timestamp" needs to be exported by the entry point pipelines.d.ts
// Warning: (ae-incompatible-release-tags) The symbol "constant" is marked as @public, but its signature references "Constant" which is marked as @beta
//
// @public
export function constant(value: Timestamp): Constant;

// Warning: (ae-incompatible-release-tags) The symbol "constant" is marked as @public, but its signature references "Constant" which is marked as @beta
//
// @public
export function constant(value: Date): Constant;

// Warning: (ae-incompatible-release-tags) The symbol "constant" is marked as @public, but its signature references "Constant" which is marked as @beta
//
// @public
export function constant(value: Bytes): Constant;

// Warning: (ae-forgotten-export) The symbol "DocumentReference" needs to be exported by the entry point pipelines.d.ts
// Warning: (ae-incompatible-release-tags) The symbol "constant" is marked as @public, but its signature references "Constant" which is marked as @beta
//
// @public
export function constant(value: DocumentReference): Constant;

// Warning: (ae-forgotten-export) The symbol "VectorValue" needs to be exported by the entry point pipelines.d.ts
// Warning: (ae-incompatible-release-tags) The symbol "constant" is marked as @public, but its signature references "Constant" which is marked as @beta
//
// @public
export function constant(value: VectorValue): Constant;

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

// @beta
export function cosineDistance(fieldName: string, vectorExpression: Expr): FunctionExpr;

// @beta
export function cosineDistance(vectorExpression: Expr, vector: number[] | Expr): FunctionExpr;

// @beta
export function cosineDistance(vectorExpression: Expr, otherVectorExpression: Expr): FunctionExpr;

// @beta
export function count(expression: Expr): AggregateFunction;

// Warning: (ae-incompatible-release-tags) The symbol "count" is marked as @public, but its signature references "AggregateFunction" which is marked as @beta
//
// @public
export function count(fieldName: string): AggregateFunction;

// @beta
export function countAll(): AggregateFunction;

// @beta
export function countIf(booleanExpr: BooleanExpr): AggregateFunction;

// @beta
export function currentContext(): FunctionExpr;

// @beta (undocumented)
export class DatabaseSource implements Stage {
    // (undocumented)
    name: string;
}

// @beta
export function descending(expr: Expr): Ordering;

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

// @beta (undocumented)
export class Distinct implements Stage {
    constructor(groups: Map<string, Expr>);
    // (undocumented)
    name: string;
}

// @beta
export function divide(left: Expr, right: Expr): FunctionExpr;

// @beta
export function divide(expression: Expr, value: unknown): FunctionExpr;

// @beta
export function divide(fieldName: string, expressions: Expr): FunctionExpr;

// @beta
export function divide(fieldName: string, value: unknown): FunctionExpr;

// @beta
export function documentId(documentPath: string | DocumentReference): FunctionExpr;

// @beta
export function documentId(documentPathExpr: Expr): FunctionExpr;

// @beta (undocumented)
export class DocumentsSource implements Stage {
    constructor(docPaths: string[]);
    // (undocumented)
    name: string;
    // (undocumented)
    static of(refs: Array<string | DocumentReference>): DocumentsSource;
}

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

// @beta
export function dotProduct(fieldName: string, vectorExpression: Expr): FunctionExpr;

// @beta
export function dotProduct(vectorExpression: Expr, vector: number[] | VectorValue): FunctionExpr;

// @beta
export function dotProduct(vectorExpression: Expr, otherVectorExpression: Expr): FunctionExpr;

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

// @beta
export function endsWith(fieldName: string, suffix: Expr): BooleanExpr;

// @beta
export function endsWith(stringExpression: Expr, suffix: string): BooleanExpr;

// @beta
export function endsWith(stringExpression: Expr, suffix: Expr): BooleanExpr;

// @beta
export function eq(left: Expr, right: Expr): BooleanExpr;

// @beta
export function eq(expression: Expr, value: unknown): BooleanExpr;

// @beta
export function eq(fieldName: string, expression: Expr): BooleanExpr;

// @beta
export function eq(fieldName: string, value: unknown): BooleanExpr;

// @beta
export function eqAny(expression: Expr, values: Array<Expr | unknown>): BooleanExpr;

// @beta
export function eqAny(expression: Expr, arrayExpression: Expr): BooleanExpr;

// @beta
export function eqAny(fieldName: string, values: Array<Expr | unknown>): BooleanExpr;

// @beta
export function eqAny(fieldName: string, arrayExpression: Expr): BooleanExpr;

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

// @beta
export function euclideanDistance(fieldName: string, vectorExpression: Expr): FunctionExpr;

// @beta
export function euclideanDistance(vectorExpression: Expr, vector: number[] | VectorValue): FunctionExpr;

// @beta
export function euclideanDistance(vectorExpression: Expr, otherVectorExpression: Expr): FunctionExpr;

// @public
export function execute(pipeline: Pipeline): Promise<PipelineSnapshot>;

// @beta
export function exists(value: Expr): BooleanExpr;

// @beta
export function exists(fieldName: string): BooleanExpr;

// @beta
export abstract class Expr {
    add(second: Expr | unknown, ...others: Array<Expr | unknown>): FunctionExpr;
    /* Excluded from this release type: _readUserData */
    arrayConcat(secondArray: Expr | unknown[], ...otherArrays: Array<Expr | unknown[]>): FunctionExpr;
    /* Excluded from this release type: _readUserData */
    arrayContains(expression: Expr): BooleanExpr;
    /* Excluded from this release type: _readUserData */
    arrayContains(value: unknown): BooleanExpr;
    /* Excluded from this release type: _readUserData */
    arrayContainsAll(values: Array<Expr | unknown>): BooleanExpr;
    /* Excluded from this release type: _readUserData */
    arrayContainsAll(arrayExpression: Expr): BooleanExpr;
    /* Excluded from this release type: _readUserData */
    arrayContainsAny(values: Array<Expr | unknown>): BooleanExpr;
    /* Excluded from this release type: _readUserData */
    arrayContainsAny(arrayExpression: Expr): BooleanExpr;
    /* Excluded from this release type: _readUserData */
    arrayLength(): FunctionExpr;
    /* Excluded from this release type: _readUserData */
    arrayOffset(offset: number): FunctionExpr;
    /* Excluded from this release type: _readUserData */
    arrayOffset(offsetExpr: Expr): FunctionExpr;
    /* Excluded from this release type: _readUserData */
    as(name: string): ExprWithAlias;
    /* Excluded from this release type: _readUserData */
    ascending(): Ordering;
    /* Excluded from this release type: _readUserData */
    avg(): AggregateFunction;
    /* Excluded from this release type: _readUserData */
    bitAnd(otherBits: number | Bytes): FunctionExpr;
    /* Excluded from this release type: _readUserData */
    bitAnd(bitsExpression: Expr): FunctionExpr;
    /* Excluded from this release type: _readUserData */
    bitLeftShift(y: number): FunctionExpr;
    /* Excluded from this release type: _readUserData */
    bitLeftShift(numberExpr: Expr): FunctionExpr;
    /* Excluded from this release type: _readUserData */
    bitNot(): FunctionExpr;
    /* Excluded from this release type: _readUserData */
    bitOr(otherBits: number | Bytes): FunctionExpr;
    /* Excluded from this release type: _readUserData */
    bitOr(bitsExpression: Expr): FunctionExpr;
    /* Excluded from this release type: _readUserData */
    bitRightShift(y: number): FunctionExpr;
    /* Excluded from this release type: _readUserData */
    bitRightShift(numberExpr: Expr): FunctionExpr;
    /* Excluded from this release type: _readUserData */
    bitXor(otherBits: number | Bytes): FunctionExpr;
    /* Excluded from this release type: _readUserData */
    bitXor(bitsExpression: Expr): FunctionExpr;
    /* Excluded from this release type: _readUserData */
    byteLength(): FunctionExpr;
    /* Excluded from this release type: _readUserData */
    charLength(): FunctionExpr;
    /* Excluded from this release type: _readUserData */
    cosineDistance(vectorExpression: Expr): FunctionExpr;
    /* Excluded from this release type: _readUserData */
    cosineDistance(vector: VectorValue | number[]): FunctionExpr;
    /* Excluded from this release type: _readUserData */
    count(): AggregateFunction;
    /* Excluded from this release type: _readUserData */
    descending(): Ordering;
    /* Excluded from this release type: _readUserData */
    divide(other: Expr): FunctionExpr;
    /* Excluded from this release type: _readUserData */
    divide(other: unknown): FunctionExpr;
    /* Excluded from this release type: _readUserData */
    documentId(): FunctionExpr;
    /* Excluded from this release type: _readUserData */
    dotProduct(vectorExpression: Expr): FunctionExpr;
    /* Excluded from this release type: _readUserData */
    dotProduct(vector: VectorValue | number[]): FunctionExpr;
    /* Excluded from this release type: _readUserData */
    endsWith(suffix: string): BooleanExpr;
    /* Excluded from this release type: _readUserData */
    endsWith(suffix: Expr): BooleanExpr;
    /* Excluded from this release type: _readUserData */
    eq(expression: Expr): BooleanExpr;
    /* Excluded from this release type: _readUserData */
    eq(value: unknown): BooleanExpr;
    /* Excluded from this release type: _readUserData */
    eqAny(values: Array<Expr | unknown>): BooleanExpr;
    /* Excluded from this release type: _readUserData */
    eqAny(arrayExpression: Expr): BooleanExpr;
    /* Excluded from this release type: _readUserData */
    euclideanDistance(vectorExpression: Expr): FunctionExpr;
    /* Excluded from this release type: _readUserData */
    euclideanDistance(vector: VectorValue | number[]): FunctionExpr;
    /* Excluded from this release type: _readUserData */
    exists(): BooleanExpr;
    /* Excluded from this release type: _readUserData */
    // (undocumented)
    abstract readonly exprType: ExprType;
    /* Excluded from this release type: _readUserData */
    gt(expression: Expr): BooleanExpr;
    /* Excluded from this release type: _readUserData */
    gt(value: unknown): BooleanExpr;
    /* Excluded from this release type: _readUserData */
    gte(expression: Expr): BooleanExpr;
    /* Excluded from this release type: _readUserData */
    gte(value: unknown): BooleanExpr;
    /* Excluded from this release type: _readUserData */
    ifError(catchExpr: Expr): FunctionExpr;
    /* Excluded from this release type: _readUserData */
    ifError(catchValue: unknown): FunctionExpr;
    /* Excluded from this release type: _readUserData */
    isAbsent(): BooleanExpr;
    /* Excluded from this release type: _readUserData */
    isError(): BooleanExpr;
    /* Excluded from this release type: _readUserData */
    isNan(): BooleanExpr;
    /* Excluded from this release type: _readUserData */
    isNotNan(): BooleanExpr;
    /* Excluded from this release type: _readUserData */
    isNotNull(): BooleanExpr;
    /* Excluded from this release type: _readUserData */
    isNull(): BooleanExpr;
    /* Excluded from this release type: _readUserData */
    like(pattern: string): FunctionExpr;
    /* Excluded from this release type: _readUserData */
    like(pattern: Expr): FunctionExpr;
    /* Excluded from this release type: _readUserData */
    logicalMaximum(second: Expr | unknown, ...others: Array<Expr | unknown>): FunctionExpr;
    /* Excluded from this release type: _readUserData */
    logicalMinimum(second: Expr | unknown, ...others: Array<Expr | unknown>): FunctionExpr;
    /* Excluded from this release type: _readUserData */
    lt(experession: Expr): BooleanExpr;
    /* Excluded from this release type: _readUserData */
    lt(value: unknown): BooleanExpr;
    /* Excluded from this release type: _readUserData */
    lte(expression: Expr): BooleanExpr;
    /* Excluded from this release type: _readUserData */
    lte(value: unknown): BooleanExpr;
    /* Excluded from this release type: _readUserData */
    manhattanDistance(vector: VectorValue | number[]): FunctionExpr;
    /* Excluded from this release type: _readUserData */
    manhattanDistance(vectorExpression: Expr): FunctionExpr;
    /* Excluded from this release type: _readUserData */
    mapGet(subfield: string): FunctionExpr;
    /* Excluded from this release type: _readUserData */
    mapMerge(secondMap: Record<string, unknown> | Expr, ...otherMaps: Array<Record<string, unknown> | Expr>): FunctionExpr;
    /* Excluded from this release type: _readUserData */
    mapRemove(key: string): FunctionExpr;
    /* Excluded from this release type: _readUserData */
    mapRemove(keyExpr: Expr): FunctionExpr;
    /* Excluded from this release type: _readUserData */
    maximum(): AggregateFunction;
    /* Excluded from this release type: _readUserData */
    minimum(): AggregateFunction;
    /* Excluded from this release type: _readUserData */
    mod(expression: Expr): FunctionExpr;
    /* Excluded from this release type: _readUserData */
    mod(value: unknown): FunctionExpr;
    /* Excluded from this release type: _readUserData */
    multiply(second: Expr | unknown, ...others: Array<Expr | unknown>): FunctionExpr;
    /* Excluded from this release type: _readUserData */
    neq(expression: Expr): BooleanExpr;
    /* Excluded from this release type: _readUserData */
    neq(value: unknown): BooleanExpr;
    /* Excluded from this release type: _readUserData */
    notEqAny(values: Array<Expr | unknown>): BooleanExpr;
    /* Excluded from this release type: _readUserData */
    notEqAny(arrayExpression: Expr): BooleanExpr;
    /* Excluded from this release type: _readUserData */
    regexContains(pattern: string): BooleanExpr;
    /* Excluded from this release type: _readUserData */
    regexContains(pattern: Expr): BooleanExpr;
    /* Excluded from this release type: _readUserData */
    regexMatch(pattern: string): BooleanExpr;
    /* Excluded from this release type: _readUserData */
    regexMatch(pattern: Expr): BooleanExpr;
    /* Excluded from this release type: _readUserData */
    replaceAll(find: string, replace: string): FunctionExpr;
    /* Excluded from this release type: _readUserData */
    replaceAll(find: Expr, replace: Expr): FunctionExpr;
    /* Excluded from this release type: _readUserData */
    replaceFirst(find: string, replace: string): FunctionExpr;
    /* Excluded from this release type: _readUserData */
    replaceFirst(find: Expr, replace: Expr): FunctionExpr;
    /* Excluded from this release type: _readUserData */
    reverse(): FunctionExpr;
    /* Excluded from this release type: _readUserData */
    startsWith(prefix: string): BooleanExpr;
    /* Excluded from this release type: _readUserData */
    startsWith(prefix: Expr): BooleanExpr;
    /* Excluded from this release type: _readUserData */
    strConcat(secondString: Expr | string, ...otherStrings: Array<Expr | string>): FunctionExpr;
    /* Excluded from this release type: _readUserData */
    strContains(substring: string): BooleanExpr;
    /* Excluded from this release type: _readUserData */
    strContains(expr: Expr): BooleanExpr;
    /* Excluded from this release type: _readUserData */
    substr(position: number, length?: number): FunctionExpr;
    /* Excluded from this release type: _readUserData */
    substr(position: Expr, length?: Expr): FunctionExpr;
    /* Excluded from this release type: _readUserData */
    subtract(other: Expr): FunctionExpr;
    /* Excluded from this release type: _readUserData */
    subtract(other: unknown): FunctionExpr;
    /* Excluded from this release type: _readUserData */
    sum(): AggregateFunction;
    /* Excluded from this release type: _readUserData */
    timestampAdd(unit: Expr, amount: Expr): FunctionExpr;
    /* Excluded from this release type: _readUserData */
    timestampAdd(unit: 'microsecond' | 'millisecond' | 'second' | 'minute' | 'hour' | 'day', amount: number): FunctionExpr;
    /* Excluded from this release type: _readUserData */
    timestampSub(unit: Expr, amount: Expr): FunctionExpr;
    /* Excluded from this release type: _readUserData */
    timestampSub(unit: 'microsecond' | 'millisecond' | 'second' | 'minute' | 'hour' | 'day', amount: number): FunctionExpr;
    /* Excluded from this release type: _readUserData */
    timestampToUnixMicros(): FunctionExpr;
    /* Excluded from this release type: _readUserData */
    timestampToUnixMillis(): FunctionExpr;
    /* Excluded from this release type: _readUserData */
    timestampToUnixSeconds(): FunctionExpr;
    /* Excluded from this release type: _readUserData */
    toLower(): FunctionExpr;
    /* Excluded from this release type: _readUserData */
    toUpper(): FunctionExpr;
    /* Excluded from this release type: _readUserData */
    trim(): FunctionExpr;
    /* Excluded from this release type: _readUserData */
    unixMicrosToTimestamp(): FunctionExpr;
    /* Excluded from this release type: _readUserData */
    unixMillisToTimestamp(): FunctionExpr;
    /* Excluded from this release type: _readUserData */
    unixSecondsToTimestamp(): FunctionExpr;
    /* Excluded from this release type: _readUserData */
    vectorLength(): FunctionExpr;
}

// @beta
export type ExprType = 'Field' | 'Constant' | 'Function' | 'AggregateFunction' | 'ListOfExprs' | 'ExprWithAlias';

// @beta (undocumented)
export class ExprWithAlias implements Selectable {
    constructor(expr: Expr, alias: string);
    // (undocumented)
    readonly alias: string;
    // (undocumented)
    readonly expr: Expr;
    // (undocumented)
    exprType: ExprType;
    // (undocumented)
    selectable: true;
}

// @beta
export class Field extends Expr implements Selectable {
    // (undocumented)
    get alias(): string;
    // (undocumented)
    get expr(): Expr;
    // (undocumented)
    readonly exprType: ExprType;
    // (undocumented)
    fieldName(): string;
    // (undocumented)
    selectable: true;
}

// Warning: (ae-incompatible-release-tags) The symbol "field" is marked as @public, but its signature references "Field" which is marked as @beta
//
// @public
export function field(name: string): Field;

// Warning: (ae-forgotten-export) The symbol "FieldPath" needs to be exported by the entry point pipelines.d.ts
// Warning: (ae-incompatible-release-tags) The symbol "field" is marked as @public, but its signature references "Field" which is marked as @beta
//
// @public (undocumented)
export function field(path: FieldPath): Field;

// @beta (undocumented)
export class FindNearest implements Stage {
    // (undocumented)
    name: string;
}

// @beta (undocumented)
export interface FindNearestOptions {
    // (undocumented)
    distanceField?: string;
    // (undocumented)
    distanceMeasure: 'euclidean' | 'cosine' | 'dot_product';
    // (undocumented)
    field: Field | string;
    // (undocumented)
    limit?: number;
    // (undocumented)
    vectorValue: VectorValue | number[];
}

// @beta
export class FunctionExpr extends Expr {
    constructor(name: string, params: Expr[]);
    // (undocumented)
    readonly exprType: ExprType;
    }

// @beta (undocumented)
export class GenericStage implements Stage {
    // (undocumented)
    name: string;
    }

// @beta
export function gt(left: Expr, right: Expr): BooleanExpr;

// @beta
export function gt(expression: Expr, value: unknown): BooleanExpr;

// @beta
export function gt(fieldName: string, expression: Expr): BooleanExpr;

// @beta
export function gt(fieldName: string, value: unknown): BooleanExpr;

// @beta
export function gte(left: Expr, right: Expr): BooleanExpr;

// @beta
export function gte(expression: Expr, value: unknown): BooleanExpr;

// @beta
export function gte(fieldName: string, value: Expr): BooleanExpr;

// @beta
export function gte(fieldName: string, value: unknown): BooleanExpr;

// @beta
export function ifError(tryExpr: Expr, catchExpr: Expr): FunctionExpr;

// @beta
export function ifError(tryExpr: Expr, catchValue: unknown): FunctionExpr;

// @beta
export function isAbsent(value: Expr): BooleanExpr;

// @beta
export function isAbsent(field: string): BooleanExpr;

// @beta
export function isError(value: Expr): BooleanExpr;

// @beta
export function isNan(value: Expr): BooleanExpr;

// @beta
export function isNan(fieldName: string): BooleanExpr;

// @beta
export function isNotNan(value: Expr): BooleanExpr;

// @beta
export function isNotNan(value: string): BooleanExpr;

// @beta
export function isNotNull(value: Expr): BooleanExpr;

// @beta
export function isNotNull(value: string): BooleanExpr;

// @beta
export function isNull(value: Expr): BooleanExpr;

// @beta
export function isNull(value: string): BooleanExpr;

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

// @beta
export function like(fieldName: string, pattern: Expr): BooleanExpr;

// @beta
export function like(stringExpression: Expr, pattern: string): BooleanExpr;

// @beta
export function like(stringExpression: Expr, pattern: Expr): BooleanExpr;

// @beta (undocumented)
export class Limit implements Stage {
    constructor(limit: number, convertedFromLimitTolast?: boolean);
    // (undocumented)
    readonly convertedFromLimitTolast: boolean;
    // (undocumented)
    readonly limit: number;
    // (undocumented)
    name: string;
}

// @beta
export function logicalMaximum(first: Expr, second: Expr | unknown, ...others: Array<Expr | unknown>): FunctionExpr;

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

// @beta
export function logicalMinimum(first: Expr, second: Expr | unknown, ...others: Array<Expr | unknown>): FunctionExpr;

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

// @beta
export function lt(left: Expr, right: Expr): BooleanExpr;

// @beta
export function lt(expression: Expr, value: unknown): BooleanExpr;

// @beta
export function lt(fieldName: string, expression: Expr): BooleanExpr;

// @beta
export function lt(fieldName: string, value: unknown): BooleanExpr;

// @beta
export function lte(left: Expr, right: Expr): BooleanExpr;

// @beta
export function lte(expression: Expr, value: unknown): BooleanExpr;

// Warning: (ae-incompatible-release-tags) The symbol "lte" is marked as @public, but its signature references "Expr" which is marked as @beta
// Warning: (ae-incompatible-release-tags) The symbol "lte" is marked as @public, but its signature references "BooleanExpr" which is marked as @beta
//
// @public
export function lte(fieldName: string, expression: Expr): BooleanExpr;

// @beta
export function lte(fieldName: string, value: unknown): BooleanExpr;

// @beta
export function manhattanDistance(fieldName: string, vector: number[] | VectorValue): FunctionExpr;

// @beta
export function manhattanDistance(fieldName: string, vectorExpression: Expr): FunctionExpr;

// @beta
export function manhattanDistance(vectorExpression: Expr, vector: number[] | VectorValue): FunctionExpr;

// @beta
export function manhattanDistance(vectorExpression: Expr, otherVectorExpression: Expr): FunctionExpr;

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

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

// @beta
export function mapGet(mapExpression: Expr, subField: string): FunctionExpr;

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

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

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

// @beta
export function mapRemove(mapExpr: Expr, key: string): FunctionExpr;

// @beta
export function mapRemove(mapField: string, keyExpr: Expr): FunctionExpr;

// @beta
export function mapRemove(mapExpr: Expr, keyExpr: Expr): FunctionExpr;

// @beta
export function maximum(expression: Expr): AggregateFunction;

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

// @beta
export function minimum(expression: Expr): AggregateFunction;

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

// @beta
export function mod(left: Expr, right: Expr): FunctionExpr;

// @beta
export function mod(expression: Expr, value: unknown): FunctionExpr;

// @beta
export function mod(fieldName: string, expression: Expr): FunctionExpr;

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

// @beta
export function multiply(first: Expr, second: Expr | unknown, ...others: Array<Expr | unknown>): FunctionExpr;

// @beta
export function multiply(fieldName: string, second: Expr | unknown, ...others: Array<Expr | unknown>): FunctionExpr;

// @beta
export function neq(left: Expr, right: Expr): BooleanExpr;

// @beta
export function neq(expression: Expr, value: unknown): BooleanExpr;

// @beta
export function neq(fieldName: string, expression: Expr): BooleanExpr;

// @beta
export function neq(fieldName: string, value: unknown): BooleanExpr;

// @beta
export function not(booleanExpr: BooleanExpr): BooleanExpr;

// @beta
export function notEqAny(element: Expr, values: Array<Expr | unknown>): BooleanExpr;

// @beta
export function notEqAny(fieldName: string, values: Array<Expr | unknown>): BooleanExpr;

// @beta
export function notEqAny(element: Expr, arrayExpression: Expr): BooleanExpr;

// @beta
export function notEqAny(fieldName: string, arrayExpression: Expr): BooleanExpr;

// @beta (undocumented)
export class Offset implements Stage {
    constructor(offset: number);
    // (undocumented)
    name: string;
    }

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

// @beta
export class Ordering {
    constructor(expr: Expr, direction: 'ascending' | 'descending');
    // (undocumented)
    readonly direction: 'ascending' | 'descending';
    // (undocumented)
    readonly expr: Expr;
}

// @public (undocumented)
export class Pipeline {
    // Warning: (ae-incompatible-release-tags) The symbol "addFields" is marked as @public, but its signature references "Selectable" which is marked as @beta
    addFields(field: Selectable, ...additionalFields: Selectable[]): Pipeline;
    // Warning: (ae-incompatible-release-tags) The symbol "aggregate" is marked as @public, but its signature references "AggregateWithAlias" which is marked as @beta
    aggregate(accumulator: AggregateWithAlias, ...additionalAccumulators: AggregateWithAlias[]): Pipeline;
    aggregate(options: { accumulators: AggregateWithAlias[]; groups?: Array<string | Selectable>; }): Pipeline;
    // Warning: (ae-incompatible-release-tags) The symbol "distinct" is marked as @public, but its signature references "Selectable" which is marked as @beta
    distinct(group: string | Selectable, ...additionalGroups: Array<string | Selectable>): Pipeline;
    // Warning: (ae-incompatible-release-tags) The symbol "findNearest" is marked as @public, but its signature references "FindNearestOptions" which is marked as @beta
    //
    // (undocumented)
    findNearest(options: FindNearestOptions): Pipeline;
    genericStage(name: string, params: unknown[]): Pipeline;
    limit(limit: number): Pipeline;
    offset(offset: number): Pipeline;
    readUserData: any;
    // Warning: (ae-incompatible-release-tags) The symbol "removeFields" is marked as @public, but its signature references "Field" which is marked as @beta
    removeFields(fieldValue: Field | string, ...additionalFields: Array<Field | string>): Pipeline;
    // Warning: (ae-incompatible-release-tags) The symbol "replaceWith" is marked as @public, but its signature references "Field" which is marked as @beta
    replaceWith(fieldValue: Field | string): Pipeline;
    sample(documents: number): Pipeline;
    sample(options: { percentage: number; } | { documents: number; }): Pipeline;
    // Warning: (ae-incompatible-release-tags) The symbol "select" is marked as @public, but its signature references "Selectable" which is marked as @beta
    select(selection: Selectable | string, ...additionalSelections: Array<Selectable | string>): Pipeline;
    // (undocumented)
    selectablesToMap: any;
    // Warning: (ae-incompatible-release-tags) The symbol "sort" is marked as @public, but its signature references "Ordering" which is marked as @beta
    sort(ordering: Ordering, ...additionalOrderings: Ordering[]): Pipeline;
    // (undocumented)
    stages: any;
    union(other: Pipeline): Pipeline;
    // Warning: (ae-incompatible-release-tags) The symbol "unnest" is marked as @public, but its signature references "Selectable" which is marked as @beta
    unnest(selectable: Selectable, indexField?: string): Pipeline;
    // (undocumented)
    userDataReader: any;
    // Warning: (ae-incompatible-release-tags) The symbol "where" is marked as @public, but its signature references "BooleanExpr" which is marked as @beta
    where(condition: BooleanExpr): Pipeline;
}

// Warning: (ae-forgotten-export) The symbol "DocumentData" needs to be exported by the entry point pipelines.d.ts
//
// @beta
export class PipelineResult<AppModelType = DocumentData> {
    /* Excluded from this release type: _ref */
    /* Excluded from this release type: _fields */
    /* Excluded from this release type: __constructor */
    get createTime(): Timestamp | undefined;
    data(): AppModelType | undefined;
    get(fieldPath: string | FieldPath | Field): any;
    get id(): string | undefined;
    get ref(): DocumentReference | undefined;
    get updateTime(): Timestamp | undefined;
}

// @public (undocumented)
export class PipelineSnapshot {
    // Warning: (ae-incompatible-release-tags) The symbol "__constructor" is marked as @public, but its signature references "PipelineResult" which is marked as @beta
    constructor(pipeline: Pipeline, results: PipelineResult[], executionTime?: Timestamp);
    get executionTime(): Timestamp;
    get pipeline(): Pipeline;
    // Warning: (ae-incompatible-release-tags) The symbol "results" is marked as @public, but its signature references "PipelineResult" which is marked as @beta
    get results(): PipelineResult[];
}

// @beta
export class PipelineSource<PipelineType> {
    collection(collectionPath: string): PipelineType;
    /* Excluded from this release type: _createPipeline */
    /* Excluded from this release type: __constructor */
    // Warning: (ae-forgotten-export) The symbol "Query" needs to be exported by the entry point pipelines.d.ts
    collection(collectionReference: Query): PipelineType;
    /* Excluded from this release type: _createPipeline */
    /* Excluded from this release type: __constructor */
    collectionGroup(collectionId: string): PipelineType;
    /* Excluded from this release type: _createPipeline */
    /* Excluded from this release type: __constructor */
    createFrom(query: Query): Pipeline;
    /* Excluded from this release type: _createPipeline */
    /* Excluded from this release type: __constructor */
    database(): PipelineType;
    /* Excluded from this release type: _createPipeline */
    /* Excluded from this release type: __constructor */
    documents(docs: Array<string | DocumentReference>): PipelineType;
}

// @beta
export function rand(): FunctionExpr;

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

// @beta
export function regexContains(fieldName: string, pattern: Expr): BooleanExpr;

// @beta
export function regexContains(stringExpression: Expr, pattern: string): BooleanExpr;

// @beta
export function regexContains(stringExpression: Expr, pattern: Expr): BooleanExpr;

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

// @beta
export function regexMatch(fieldName: string, pattern: Expr): BooleanExpr;

// @beta
export function regexMatch(stringExpression: Expr, pattern: string): BooleanExpr;

// @beta
export function regexMatch(stringExpression: Expr, pattern: Expr): BooleanExpr;

// @beta
export function replaceAll(value: Expr, find: string, replace: string): FunctionExpr;

// @beta
export function replaceAll(value: Expr, find: Expr, replace: Expr): FunctionExpr;

// @beta
export function replaceAll(fieldName: string, find: string, replace: string): FunctionExpr;

// @beta
export function replaceFirst(value: Expr, find: string, replace: string): FunctionExpr;

// @beta
export function replaceFirst(value: Expr, find: Expr, replace: Expr): FunctionExpr;

// @beta
export function replaceFirst(fieldName: string, find: string, replace: string): FunctionExpr;

// @beta
export function reverse(stringExpression: Expr): FunctionExpr;

// @beta
export function reverse(field: string): FunctionExpr;

// @beta (undocumented)
export class Select implements Stage {
    constructor(projections: Map<string, Expr>);
    // (undocumented)
    name: string;
    }

// @beta
export interface Selectable {
    // (undocumented)
    readonly alias: string;
    // (undocumented)
    readonly expr: Expr;
    // (undocumented)
    selectable: true;
}

// @beta (undocumented)
export class Sort implements Stage {
    constructor(orders: Ordering[]);
    // (undocumented)
    name: string;
    }

// @beta (undocumented)
export interface Stage {
    // (undocumented)
    name: string;
}

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

// @beta
export function startsWith(fieldName: string, prefix: Expr): BooleanExpr;

// @beta
export function startsWith(stringExpression: Expr, prefix: string): BooleanExpr;

// @beta
export function startsWith(stringExpression: Expr, prefix: Expr): BooleanExpr;

// @beta
export function strConcat(fieldName: string, secondString: Expr | string, ...otherStrings: Array<Expr | string>): FunctionExpr;

// @beta
export function strConcat(firstString: Expr, secondString: Expr | string, ...otherStrings: Array<Expr | string>): FunctionExpr;

// @beta
export function strContains(fieldName: string, substring: string): BooleanExpr;

// @beta
export function strContains(fieldName: string, substring: Expr): BooleanExpr;

// @beta
export function strContains(stringExpression: Expr, substring: string): BooleanExpr;

// @beta
export function strContains(stringExpression: Expr, substring: Expr): BooleanExpr;

// @beta
export function substr(field: string, position: number, length?: number): FunctionExpr;

// @beta
export function substr(input: Expr, position: number, length?: number): FunctionExpr;

// @beta
export function substr(field: string, position: Expr, length?: Expr): FunctionExpr;

// @beta
export function substr(input: Expr, position: Expr, length?: Expr): FunctionExpr;

// @beta
export function subtract(left: Expr, right: Expr): FunctionExpr;

// @beta
export function subtract(expression: Expr, value: unknown): FunctionExpr;

// @beta
export function subtract(fieldName: string, expression: Expr): FunctionExpr;

// @beta
export function subtract(fieldName: string, value: unknown): FunctionExpr;

// @beta
export function sum(expression: Expr): AggregateFunction;

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

// @beta
export function timestampAdd(timestamp: Expr, unit: Expr, amount: Expr): FunctionExpr;

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

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

// @beta
export function timestampSub(timestamp: Expr, unit: Expr, amount: Expr): FunctionExpr;

// @beta
export function timestampSub(timestamp: Expr, unit: 'microsecond' | 'millisecond' | 'second' | 'minute' | 'hour' | 'day', amount: number): FunctionExpr;

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

// @beta
export function timestampToUnixMicros(expr: Expr): FunctionExpr;

// @beta
export function timestampToUnixMicros(fieldName: string): FunctionExpr;

// @beta
export function timestampToUnixMillis(expr: Expr): FunctionExpr;

// @beta
export function timestampToUnixMillis(fieldName: string): FunctionExpr;

// @beta
export function timestampToUnixSeconds(expr: Expr): FunctionExpr;

// @beta
export function timestampToUnixSeconds(fieldName: string): FunctionExpr;

// @beta
export function toLower(fieldName: string): FunctionExpr;

// @beta
export function toLower(stringExpression: Expr): FunctionExpr;

// @beta
export function toUpper(fieldName: string): FunctionExpr;

// @beta
export function toUpper(stringExpression: Expr): FunctionExpr;

// @beta
export function trim(fieldName: string): FunctionExpr;

// @beta
export function trim(stringExpression: Expr): FunctionExpr;

// @beta
export function unixMicrosToTimestamp(expr: Expr): FunctionExpr;

// @beta
export function unixMicrosToTimestamp(fieldName: string): FunctionExpr;

// @beta
export function unixMillisToTimestamp(expr: Expr): FunctionExpr;

// @beta
export function unixMillisToTimestamp(fieldName: string): FunctionExpr;

// @beta
export function unixSecondsToTimestamp(expr: Expr): FunctionExpr;

// @beta
export function unixSecondsToTimestamp(fieldName: string): FunctionExpr;

// @beta
export function vectorLength(vectorExpression: Expr): FunctionExpr;

// @beta
export function vectorLength(fieldName: string): FunctionExpr;

// @beta (undocumented)
export class Where implements Stage {
    constructor(condition: BooleanExpr);
    // (undocumented)
    name: string;
}

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


// Warnings were encountered during analysis:
//
// /Users/markduckworth/projects/firebase-js-sdk/packages/firestore/dist/pipelines.d.ts:4552:26 - (ae-incompatible-release-tags) The symbol "accumulators" is marked as @public, but its signature references "AggregateWithAlias" which is marked as @beta
// /Users/markduckworth/projects/firebase-js-sdk/packages/firestore/dist/pipelines.d.ts:4552:62 - (ae-incompatible-release-tags) The symbol "groups" is marked as @public, but its signature references "Selectable" which is marked as @beta

// (No @packageDocumentation comment for this package)