import { Model, Schema, SchemaDefinition } from 'mongoose';
import * as factory from '../../../factory';
declare enum DataCatalogIdentifier {
    confirmationNumber = "confirmationNumber",
    transactionNumber = "transactionNumber",
    orderNumber = "orderNumber",
    serviceOutputIdentifier = "serviceOutputIdentifier"
}
interface IDataCatalog {
    identifier: DataCatalogIdentifier;
    typeOf: 'DataCatalog';
}
interface IInteractionCounter {
    typeOf: 'InteractionCounter';
    userInteractionCount: number;
}
interface IDataFeed {
    typeOf: 'DataFeed';
    includedInDataCatalog: IDataCatalog;
    dateCreated: Date;
    dateModified?: Date;
    expires: Date;
    /**
     * カウント識別子
     */
    identifier: string;
    interactionStatistic: IInteractionCounter;
    project: {
        id: string;
        typeOf: factory.organizationType.Project;
    };
}
type IDocType = IDataFeed;
type IModel = Model<IDocType>;
type ISchemaDefinition = SchemaDefinition<IDocType>;
type ISchema = Schema<IDocType, IModel, {}, {}, {}, {}, ISchemaDefinition, IDocType>;
declare const modelName = "TransactionNumber";
declare function createSchema(): ISchema;
export { createSchema, IDocType, IModel, modelName, DataCatalogIdentifier };
