import { Association, BelongsToGetAssociationMixin, HasManyGetAssociationsMixin } from 'sequelize';
import { BaseModel } from '../../core/BaseModel';
import { User } from '../user';
import { CoreOrderPayment } from './CoreOrderPayment';
import { CoreOrderPayRecord } from './CoreOrderPayRecord';
import { CoreOrderProduct } from './CoreOrderProduct';
export declare const CORE_ORDER_STATUS: {
    NEW: number;
    SUCCESS: number;
    FAILED: number;
    CANCEL: number;
};
export declare class CoreOrder extends BaseModel {
    static associations: {
        user: Association<CoreOrder, User>;
        products: Association<CoreOrder, CoreOrderProduct>;
        payments: Association<CoreOrder, CoreOrderPayment>;
        payRecords: Association<CoreOrder, CoreOrderPayRecord>;
    };
    id: number;
    uid: number;
    code: string;
    status: number;
    createdAt: Date;
    updatedAt: Date;
    deleted: boolean;
    meta: object;
    getUser: BelongsToGetAssociationMixin<User>;
    getProducts: HasManyGetAssociationsMixin<CoreOrderProduct>;
    getPayments: HasManyGetAssociationsMixin<CoreOrderPayment>;
    getPayRecords: HasManyGetAssociationsMixin<CoreOrderPayRecord>;
    readonly products: CoreOrderProduct[];
}
