import { CollectionReference } from 'firebase-admin/firestore'; export class UnimplementedCollection implements CollectionReference { get id(): string { throw new Error('Method not implemented.'); } get parent(): FirebaseFirestore.DocumentReference | null { throw new Error('Method not implemented.'); } get path(): string { throw new Error('Method not implemented.'); } get firestore(): FirebaseFirestore.Firestore { throw new Error('Method not implemented.'); } listDocuments(): Promise[]> { throw new Error('Method not implemented.'); } doc(): FirebaseFirestore.DocumentReference; doc(documentPath: string): FirebaseFirestore.DocumentReference; doc(documentPath?: unknown): FirebaseFirestore.DocumentReference { throw new Error('Method not implemented.'); } add(data: FirebaseFirestore.WithFieldValue): Promise> { throw new Error('Method not implemented.'); } isEqual(other: CollectionReference): boolean { throw new Error('Method not implemented.'); } withConverter(converter: FirebaseFirestore.FirestoreDataConverter): CollectionReference; withConverter(converter: null): CollectionReference; withConverter(converter: unknown): CollectionReference | CollectionReference { throw new Error('Method not implemented.'); } where(fieldPath: string | FirebaseFirestore.FieldPath, opStr: FirebaseFirestore.WhereFilterOp, value: any): FirebaseFirestore.Query; where(filter: FirebaseFirestore.Filter): FirebaseFirestore.Query; where(fieldPath: unknown, opStr?: unknown, value?: unknown): FirebaseFirestore.Query { throw new Error('Method not implemented.'); } orderBy(fieldPath: string | FirebaseFirestore.FieldPath, directionStr?: FirebaseFirestore.OrderByDirection | undefined): FirebaseFirestore.Query { throw new Error('Method not implemented.'); } limit(limit: number): FirebaseFirestore.Query { throw new Error('Method not implemented.'); } limitToLast(limit: number): FirebaseFirestore.Query { throw new Error('Method not implemented.'); } offset(offset: number): FirebaseFirestore.Query { throw new Error('Method not implemented.'); } select(...field: (string | FirebaseFirestore.FieldPath)[]): FirebaseFirestore.Query { throw new Error('Method not implemented.'); } startAt(snapshot: FirebaseFirestore.DocumentSnapshot): FirebaseFirestore.Query; startAt(...fieldValues: any[]): FirebaseFirestore.Query; startAt(snapshot?: unknown, ...rest: any): FirebaseFirestore.Query { throw new Error('Method not implemented.'); } startAfter(snapshot: FirebaseFirestore.DocumentSnapshot): FirebaseFirestore.Query; startAfter(...fieldValues: any[]): FirebaseFirestore.Query; startAfter(snapshot?: unknown, ...rest: any): FirebaseFirestore.Query { throw new Error('Method not implemented.'); } endBefore(snapshot: FirebaseFirestore.DocumentSnapshot): FirebaseFirestore.Query; endBefore(...fieldValues: any[]): FirebaseFirestore.Query; endBefore(snapshot?: unknown, ...rest: any): FirebaseFirestore.Query { throw new Error('Method not implemented.'); } endAt(snapshot: FirebaseFirestore.DocumentSnapshot): FirebaseFirestore.Query; endAt(...fieldValues: any[]): FirebaseFirestore.Query; endAt(snapshot?: unknown, ...rest: any): FirebaseFirestore.Query { throw new Error('Method not implemented.'); } get(): Promise> { throw new Error('Method not implemented.'); } stream(): NodeJS.ReadableStream { throw new Error('Method not implemented.'); } onSnapshot(onNext: (snapshot: FirebaseFirestore.QuerySnapshot) => void, onError?: ((error: Error) => void) | undefined): () => void { throw new Error('Method not implemented.'); } count(): FirebaseFirestore.AggregateQuery<{ count: FirebaseFirestore.AggregateField; }> { throw new Error('Method not implemented.'); } }