import { HydratedDocument } from 'mongoose';
export type MatchJobDocument = HydratedDocument<MatchJob>;
export type MatchReason = 'catch_up' | 'trip_end' | 'incremental' | 'manual';
export type MatchJobStatus = 'pending' | 'ready' | 'failed';
export declare class MatchJob {
    jobId: string;
    requestId: string;
    tripDbId: string;
    status: MatchJobStatus;
    reason: MatchReason;
    engine: string;
    error?: string;
    finishedAt?: Date;
    resultSummary?: Record<string, unknown>;
}
export declare const MatchJobSchema: import("mongoose").Schema<MatchJob, import("mongoose").Model<MatchJob, any, any, any, any, any, MatchJob>, {}, {}, {}, {}, import("mongoose").DefaultSchemaOptions, MatchJob, import("mongoose").Document<unknown, {}, MatchJob, {
    id: string;
}, import("mongoose").DefaultSchemaOptions> & Omit<MatchJob & {
    _id: import("mongoose").Types.ObjectId;
} & {
    __v: number;
}, "id"> & {
    id: string;
}, {
    jobId?: import("mongoose").SchemaDefinitionProperty<string, MatchJob, import("mongoose").Document<unknown, {}, MatchJob, {
        id: string;
    }, import("mongoose").DefaultSchemaOptions> & Omit<MatchJob & {
        _id: import("mongoose").Types.ObjectId;
    } & {
        __v: number;
    }, "id"> & {
        id: string;
    }> | undefined;
    requestId?: import("mongoose").SchemaDefinitionProperty<string, MatchJob, import("mongoose").Document<unknown, {}, MatchJob, {
        id: string;
    }, import("mongoose").DefaultSchemaOptions> & Omit<MatchJob & {
        _id: import("mongoose").Types.ObjectId;
    } & {
        __v: number;
    }, "id"> & {
        id: string;
    }> | undefined;
    tripDbId?: import("mongoose").SchemaDefinitionProperty<string, MatchJob, import("mongoose").Document<unknown, {}, MatchJob, {
        id: string;
    }, import("mongoose").DefaultSchemaOptions> & Omit<MatchJob & {
        _id: import("mongoose").Types.ObjectId;
    } & {
        __v: number;
    }, "id"> & {
        id: string;
    }> | undefined;
    status?: import("mongoose").SchemaDefinitionProperty<MatchJobStatus, MatchJob, import("mongoose").Document<unknown, {}, MatchJob, {
        id: string;
    }, import("mongoose").DefaultSchemaOptions> & Omit<MatchJob & {
        _id: import("mongoose").Types.ObjectId;
    } & {
        __v: number;
    }, "id"> & {
        id: string;
    }> | undefined;
    reason?: import("mongoose").SchemaDefinitionProperty<MatchReason, MatchJob, import("mongoose").Document<unknown, {}, MatchJob, {
        id: string;
    }, import("mongoose").DefaultSchemaOptions> & Omit<MatchJob & {
        _id: import("mongoose").Types.ObjectId;
    } & {
        __v: number;
    }, "id"> & {
        id: string;
    }> | undefined;
    engine?: import("mongoose").SchemaDefinitionProperty<string, MatchJob, import("mongoose").Document<unknown, {}, MatchJob, {
        id: string;
    }, import("mongoose").DefaultSchemaOptions> & Omit<MatchJob & {
        _id: import("mongoose").Types.ObjectId;
    } & {
        __v: number;
    }, "id"> & {
        id: string;
    }> | undefined;
    error?: import("mongoose").SchemaDefinitionProperty<string | undefined, MatchJob, import("mongoose").Document<unknown, {}, MatchJob, {
        id: string;
    }, import("mongoose").DefaultSchemaOptions> & Omit<MatchJob & {
        _id: import("mongoose").Types.ObjectId;
    } & {
        __v: number;
    }, "id"> & {
        id: string;
    }> | undefined;
    finishedAt?: import("mongoose").SchemaDefinitionProperty<Date | undefined, MatchJob, import("mongoose").Document<unknown, {}, MatchJob, {
        id: string;
    }, import("mongoose").DefaultSchemaOptions> & Omit<MatchJob & {
        _id: import("mongoose").Types.ObjectId;
    } & {
        __v: number;
    }, "id"> & {
        id: string;
    }> | undefined;
    resultSummary?: import("mongoose").SchemaDefinitionProperty<Record<string, unknown> | undefined, MatchJob, import("mongoose").Document<unknown, {}, MatchJob, {
        id: string;
    }, import("mongoose").DefaultSchemaOptions> & Omit<MatchJob & {
        _id: import("mongoose").Types.ObjectId;
    } & {
        __v: number;
    }, "id"> & {
        id: string;
    }> | undefined;
}, MatchJob>;
