import { Entity } from './entity'; import { ItemVenda } from './itemVenda'; import { Pagamento } from './pagamento'; import { Produto } from './produto'; import { Venda } from './venda'; import { Total } from './total'; import { Operador } from './operador'; import { Pessoa } from './pessoa'; import { KeysOfType, FunctionPropertyNames } from '../utils/util-types'; import { Entrega } from './entrega'; import { ValorIngredienteAdicional } from './ingredientesAdicionais'; export declare class Nota extends Entity { itens: Array; terminal: any; data_emissao: string; data_movimento: string; venda: Venda; codigo: string; numero_entrega: string; protected estorno?: boolean; entrega: Entrega; total: Total; reimpressoes: number; crtEmpresa: string; finalizada: boolean; numeracao_automatica: boolean; modelo: '65' | '55'; natureza_operacao: 'venda' | 'compra' | 'lancamento_outra_operacao' | 'ajusta_estoque'; operacao: 'saida' | 'entrada'; chave_acesso: any; status: any; status_sefaz: any; mensagem_sefaz: any; ambiente_sefaz: any; pessoa: Pessoa | undefined; finalidade: string; serie: string; sem_taxa: boolean; _id_conta: string; constructor(json?: any, generateId?: boolean); protected createItem(json?: any): ItemVenda; totalize(): Total; addProdutoCombo(produto: Produto, itemsCombo: Array, quantidades?: Array, operador?: Operador): Array; addCombo(produtos: Array, singleItem: boolean, operador?: Operador): Array; /** * Adição de itens na nota. * Este método verifica se o produto contém composição * e se essas geram tickets unitários, assim como, * verifica se as mesmas serão incluídas na nota * @param {Produto} produto Produto para ser adicionado * @param {Operador} operador Operador que realizou a transação */ addItem(produto: Produto, quantidade?: number, operador?: Operador): Array; incItem(itemVenda: ItemVenda, quantidade?: number): ItemVenda; decItem(itemVenda: ItemVenda, quantidade?: number): ItemVenda; calcularImposto(): Total; changeItem(itemVenda: ItemVenda, index: number): ItemVenda; changeIngredientesAdicionais(ingredientes: Array, itemVenda: ItemVenda): ItemVenda; removeIngredienteAdicional(ingrediente: ValorIngredienteAdicional, itemVenda: ItemVenda): ItemVenda; removeItem(itemVenda: ItemVenda, remove_siblings?: true): ItemVenda; ratear(p: KeysOfType>, 'extra'>, number>, valor: number, replace?: boolean): Total; valorTotal(): number; totalQtdItens(): number; valorPago(): number; troco(): number; fechar(): Promise; /** * Função para ratearDesconto * @deprecated Função depreciada em favor da ratear * @param desconto valor do desconto */ ratearDesconto(desconto: number): Total; setPagamentos(pagamentos: Pagamento[]): void; addPagamento(pagamento: Pagamento): void; verificarTroco(): void; estornar(): void; isEstornada(): boolean; contabilizarReimpressao(): void; }