import { $adapter, $allow, $collectionGroups, $docLabel, $functions, $schema } from '../..'; import { FTypes } from '../../core/types'; import { Type } from '../../lib/type'; export declare type IVersion = {}; export declare type IUser = { name: string; displayName: string | null; age: number; tags: { id: number; name: string; }[]; timestamp: FTypes.Timestamp; options: { a: boolean; b: string; } | undefined; }; export declare type IUserLocal = Type.Merge; export declare type IUserJson = Type.Merge; export declare type IPostA = { type: 'a'; text: string; }; export declare type IPostB = { type: 'b'; texts: string[]; }; export declare const decodeUser: (data: IUser) => { timestamp: string; id: undefined; name: string; displayName: string | null; age: number; tags: { id: number; name: string; }[]; options: { a: boolean; b: string; } | undefined; }; export declare const UserSchema: import("../..").STypes.CollectionSchema>, true, { teen: () => import("firebase").default.firestore.Query>> | FirebaseFirestore.Query>>; orderById: () => import("firebase").default.firestore.Query>> | FirebaseFirestore.Query>>; }>; export declare const PostSchema: import("../..").STypes.CollectionSchema; export declare const PostASchema: import("../..").STypes.CollectionSchema; export declare const firestoreSchema: { [$functions]: { [x: string]: string; }; [$collectionGroups]: { users: { [$docLabel]: string; [$schema]: import("../..").STypes.CollectionSchema>, true, { teen: () => import("firebase").default.firestore.Query>> | FirebaseFirestore.Query>>; orderById: () => import("firebase").default.firestore.Query>> | FirebaseFirestore.Query>>; }>; [$allow]: { read: true; }; }; }; versions: { [$docLabel]: string; [$schema]: import("../..").STypes.CollectionSchema; [$adapter]: null; [$allow]: {}; users: { [$docLabel]: string; [$schema]: import("../..").STypes.CollectionSchema>, true, { teen: () => import("firebase").default.firestore.Query>> | FirebaseFirestore.Query>>; orderById: () => import("firebase").default.firestore.Query>> | FirebaseFirestore.Query>>; }>; [$allow]: { read: true; write: string; delete: string; }; posts: { [$docLabel]: string; [$schema]: import("../..").STypes.CollectionSchema; [$allow]: { read: true; write: string; delete: string; }; }; privatePosts: { [$docLabel]: string; [$schema]: import("../..").STypes.CollectionSchema; [$allow]: { read: string; write: string; }; }; }; }; };