import { IndexDefinition, IndexOptions, Model, Schema, SchemaDefinition } from 'mongoose';
import * as factory from '../../../factory';
export interface ITicketIssuedBy {
    id: string;
    typeOf: factory.organizationType.Corporation | factory.organizationType.Project;
}
export interface ITicket {
    /**
     * チケットID(jti)
     */
    id: string;
    project: {
        id: string;
        typeOf: factory.organizationType.Project;
    };
    typeOf: 'Ticket';
    ticketToken: string;
    dateIssued: Date;
    issuedBy: ITicketIssuedBy;
}
type IDocType = Omit<ITicket, 'id'>;
type IModel = Model<IDocType>;
type ISchemaDefinition = SchemaDefinition<IDocType>;
type ISchema = Schema<IDocType, IModel, {}, {}, {}, {}, ISchemaDefinition, IDocType>;
declare const modelName = "Ticket";
declare const indexes: [d: IndexDefinition, o: IndexOptions][];
declare function createSchema(): ISchema;
export { createSchema, IModel, indexes, modelName };
