import { AuditoriaModificadorBase } from '../auditoria/modificador'; import { Endereco } from '../shared'; export * from './usuario-elastic-convert'; export * from './usuario-fire-convert'; export * from './usuario-json-convert'; export type UsuarioKeys = keyof Usuario; export declare enum UsuarioStatus { Afastado = "Afastado", Ativo = "Ativo", AguardandoAtivacao = "Aguardando Ativa\u00E7\u00E3o", Demitido = "Demitido", Ferias = "F\u00E9rias", SuspensaoContrato = "Suspens\u00E3o de contrato" } export declare enum UsuarioEnumParametrosTipoHorarioNoturno { URBANO = "URBANO", RURAL = "RURAL", PECUARIA = "PECUARIA", CUSTOMIZADO = "CUSTOMIZADO" } export declare enum UsuarioEnumGenero { MASCULINO = "MASCULINO", FEMININO = "FEMININO" } export interface IAEstrategicaConfiguracao { enviar_relatorio_whatsapp: boolean; enviar_relatorio_email: boolean; ativo: boolean; } export declare const UsuarioStatusArray: { label: string; key: UsuarioStatus; }[]; export interface UsuarioStatusProgramado { executado: boolean; tipo: 'Ativo' | 'Demitido'; data_prevista: Date; } export type UsuarioBase = Omit<{ [key in keyof Usuario]: any; }, '_id' | '_path' | '_joins' | '_avatarBlob' | '_avatarBlobThumbnail'>; export declare class Usuario { _id: string; _path: string; _avatarBlob?: Blob; _avatarBlobThumbnail?: Blob; _joins?: { cargo?: any; esocial_categoria_de_trabalhador?: any; conta?: any; departamento?: any; empresa?: any; escala?: any; perimetros?: any[]; perfil?: any; }; cargo_ref?: string; esocial_categoria_de_trabalhador_ref?: string; conta_ref?: string; departamento_ref?: string; empresa_ref?: string; escala_ref?: string; perimetros_refs?: string[]; perfil_ref?: string; admissao: Date; ativo: boolean; avatar_atualizacao: Date; avatar_thumbnail_path: string; avatar_thumbnail_url: string; avatarUrl: string; beneficios: UsuarioBeneficios; celular: string; cpf: string; data_atualizacao_doc: Date; data_criacao_doc: Date; desligamento: Date; email: string; endereco_prestacao_diferente_empresa: boolean; endereco_prestacao: Endereco; endereco: Endereco; excluido: boolean; genero: UsuarioEnumGenero; ia_estrategica_configuracao?: IAEstrategicaConfiguracao; id_externo: string; integracao: UsuarioIntegracao; interno: boolean; modificador: Partial; nascimento: Date; nome: string; nomeCompleto: string; observacoes: string; parametros: UsuarioParametros; pin: number; pis: string; sem_autenticacao: boolean; status_data_fim: Date; status_data_ini: Date; status_programado: UsuarioStatusProgramado; status: UsuarioStatus; telefone: string; constructor(usuarioPayload: Usuario); } export declare enum UsuarioTipoIntegracao { EPLUGIN = "EPLUGIN", ECONTADOR = "ECONTADOR", CONTROL_ID = "CONTROL_ID" } export interface IUsuarioStatusProgramado { executado: boolean; tipo: 'Ativo' | 'Demitido'; data_prevista: Date; } export declare class UsuarioIntegracao { id: string; id_externo: string; lancamento_data_base: Date; lancamentos_refs: string[]; tipo: UsuarioTipoIntegracao; constructor({ id, tipo }: { id: string; tipo: UsuarioTipoIntegracao; }); } export declare class UsuarioBeneficios { vale_transporte: boolean; vale_refeicao: boolean; vale_alimentacao: boolean; constructor({ vale_transporte, vale_refeicao, vale_alimentacao, }: UsuarioBeneficios); } export declare class UsuarioParametrosHorarioNoturno { tipo: UsuarioEnumParametrosTipoHorarioNoturno; inicio: string; fim: string; hora_reduzida_segundos: number; constructor({ fim, hora_reduzida_segundos, inicio, tipo, }: UsuarioParametrosHorarioNoturno); } export declare class UsuarioParametros { acessar_manager: boolean; cargo_confianca: boolean; codigo_externo: string; configuracao_tipo_falta_jornada: string; horario_noturno: UsuarioParametrosHorarioNoturno; horista: boolean; limite_minutos_interjornada: number; marca_ponto_apenas_online: boolean; marca_ponto_flit: boolean; marca_ponto_multi_empresa: boolean; marca_ponto_web: boolean; reconhecimento_facial_obrigatorio: boolean; reconhecimento_facial: boolean; regime_compensacao: string; marcacao_whatsapp: boolean; capturar_foto_marcacao_externa: boolean; capturar_localizacao_marcacao_externa: boolean; constructor({ acessar_manager, capturar_foto_marcacao_externa, capturar_localizacao_marcacao_externa, cargo_confianca, codigo_externo, configuracao_tipo_falta_jornada, horario_noturno, horista, limite_minutos_interjornada, marca_ponto_apenas_online, marca_ponto_flit, marca_ponto_multi_empresa, marca_ponto_web, marcacao_whatsapp, reconhecimento_facial_obrigatorio, reconhecimento_facial, regime_compensacao, }: UsuarioParametros); }