import { EPayioLicenseType } from "../../activation-key/enums/license-type.enum";
import { EPayioActivationBatchStatus } from "../enums/activation-batch-status.enum";
import { IPayioActivationBatch } from "../interfaces/i-activation-batch";
export declare class PayioActivationBatchEntity implements IPayioActivationBatch {
    /** Prazo em dias para ativar as licenças (a partir da criação do lote) */
    activationDeadlineDays: number;
    /** Quantidade de licenças ativas */
    activeLicenses: number;
    /** ID do aplicativo que será ativado */
    appId: string;
    /** Nome do aplicativo (para facilitar consultas) */
    appName: string;
    /** Slug do aplicativo */
    appSlug: string;
    /** Quantidade de licenças ativadas */
    availableLicenses: number;
    /** Número sequencial do lote (ex: "2025/001", "2025/002") */
    batchNumber: string;
    /** Data de criação do lote */
    createdAt: Date;
    /** ID do admin que criou o lote */
    createdBy: string;
    /** ID do distribuidor que receberá as licenças */
    distributorId: string;
    /** Nome do distribuidor (para facilitar consultas) */
    distributorName: string;
    /** Quantidade de licenças expiradas */
    expiredLicenses: number;
    /** Dias de tolerância após expiração */
    gracePeriodDays: number;
    id: string;
    /** Tipo de licença que será gerada neste lote */
    licenseType: EPayioLicenseType;
    /** Logs de operações do lote */
    logs: string[];
    /** Preço total negociado com o distribuidor */
    negotiatedPrice: number;
    /** Observações ou notas sobre o lote */
    notes?: string;
    /** Quantidade de licenças revogadas */
    revokedLicenses: number;
    /** Indica se é ambiente sandbox */
    sandbox: boolean;
    /** Número sequencial dentro do ano */
    sequentialNumber: number;
    /** Status atual do lote */
    status: EPayioActivationBatchStatus;
    /** Tags para busca e indexação */
    tags: string[];
    /** Quantidade total de licenças no lote */
    totalLicenses: number;
    /** Preço unitário por licença */
    unitPrice: number;
    /** Data da última atualização */
    updatedAt: Date;
    /** Período de validade da licença em meses (para definição comercial) */
    validityPeriodMonths: number;
    /** Período de validade da licença do tipo trial em dias (para definição comercial) */
    validityTrialPeriodDays: number;
    /** Versão ou intervalo de versões do software cobertas */
    versionConstraint: string[];
    /** Ano de referência do lote */
    year: number;
    constructor(data?: Partial<PayioActivationBatchEntity>);
}
