import { O } from "ts-toolbelt";
import type { Change } from "firebase-functions";
import type { DocumentSnapshot } from "firebase-admin/firestore";
export declare function isCreateEvent<T>(change: Change<DocumentSnapshot<any>>): change is O.Merge<{
    before: {
        data: () => undefined;
        exists: false;
    };
    after: {
        data: () => Partial<T>;
        exists: true;
    };
}, Change<DocumentSnapshot<Partial<T>>>, "deep">;
export declare function isUpdateEvent<T>(change: Change<DocumentSnapshot<any>>): change is O.Merge<{
    before: {
        data: () => Partial<T>;
        exists: true;
    };
    after: {
        data: () => Partial<T>;
        exists: true;
    };
}, Change<DocumentSnapshot<Partial<T>>>, "deep">;
export declare function isDeleteEvent<T>(change: Change<DocumentSnapshot<any>>): change is O.Merge<{
    before: {
        data: () => Partial<T>;
        exists: true;
    };
    after: {
        data: () => undefined;
        exists: false;
    };
}, Change<DocumentSnapshot<Partial<T>>>, "deep">;
