import { RegimesCompensacaoConta } from '../regimes_compensacao'; export * from './escala-fire-convert'; export type DiasDaSemana = 'dom' | 'seg' | 'ter' | 'qua' | 'qui' | 'sex' | 'sab' | 'fer' | 'fol'; export declare enum RegimesCompensacaoJornada { BancoDeHoras = "Banco de horas", HorasExtras = "Horas extras", JornadaHibrida = "Jornada h\u00EDbrida" } export declare enum EscalaJornadaHibridaEstrategiaPosLimite { TRANSFORMAR_TUDO = "TRANSFORMAR_TUDO", SOMENTE_EXCEDENTE = "SOMENTE_EXCEDENTE" } export declare enum RegimesCompensacaoEscala { bancohoras = "BANCO_HORAS", horasextras = "HORAS_EXTRAS", padrao = "PADRAO", jornadahibrida = "JORNADA_HIBRIDA" } export declare enum TipoJornadaHorario { CIRCULAR = "CIRCULAR", SEMANAL = "SEMANAL" } export interface IEscalaRegimeCompensacao { dias_semana: DiasDaSemana[]; regime_compensacao: RegimesCompensacaoEscala; configuracao_jornada_hibrida?: { limite_minutos: number; destino_pre_limite: RegimesCompensacaoJornada.HorasExtras | RegimesCompensacaoJornada.BancoDeHoras; destino_pos_limite: RegimesCompensacaoJornada.HorasExtras | RegimesCompensacaoJornada.BancoDeHoras; estrategia_pos_limite: EscalaJornadaHibridaEstrategiaPosLimite; destino_horas_negativas: RegimesCompensacaoJornada.HorasExtras | RegimesCompensacaoJornada.BancoDeHoras; }; } export declare abstract class EscalaHelpers { static obterEquivalenciaRegimeEscalaComConta(valor: RegimesCompensacaoEscala): RegimesCompensacaoConta.BancoDeHoras | RegimesCompensacaoConta.HorasExtras; static obterEquivalenciaRegimeCompensacaoEscalaComJornada(valor: RegimesCompensacaoEscala): RegimesCompensacaoJornada | null; } export interface EscalaBase { data_atualizacao_doc: any; data_criacao_doc: any; data_inicial: any; descricao: string; departamentos_ids: string[]; excluido: boolean; existe_marcacao_pre_assinalada: boolean; faixa_hora_extra_diferenciada_ref?: any; faixa_hora_extra_semanal_ref?: any; faixa_hora_extra_hibrida_ref?: any; tipo_jornada_horario?: TipoJornadaHorario; jornadas: { repetir: number; ocorrencia_frequencia_ref: any; marcacoes_pre_assinaladas?: { todos_intervalos: boolean; indices: number[]; }; periodos: { entrada: { hora: string; timezone_value: string; origem: null | 'marcacao pre assinalada'; }; saida: { hora: string; timezone_value: string; origem: null | 'marcacao pre assinalada'; }; duracao: string; descanso: string; }[]; }[]; regime_compensacao: IEscalaRegimeCompensacao[]; pausas?: { ativo: boolean; duracao_minutos: number; quantidade: number; tolerancia_minutos: number; }; } /** * Internal class col contas/${contaId}/cargo/${cargoId}. * * @export * @class Lancamento */ export declare class Escala implements EscalaBase { _id: string; _path: string; data_atualizacao_doc: Date; data_criacao_doc: Date; data_inicial: Date; departamentos_ids: string[]; descricao: string; excluido: boolean; existe_marcacao_pre_assinalada: boolean; faixa_hora_extra_diferenciada_ref?: string; faixa_hora_extra_semanal_ref?: string; faixa_hora_extra_hibrida_ref?: string; tipo_jornada_horario?: TipoJornadaHorario; jornadas: { repetir: number; ocorrencia_frequencia_ref: string; marcacoes_pre_assinaladas?: { todos_intervalos: boolean; indices: number[]; }; periodos: { entrada: { hora: string; timezone_value: string; origem: null | 'marcacao pre assinalada'; }; saida: { hora: string; timezone_value: string; origem: null | 'marcacao pre assinalada'; }; duracao: string; descanso: string; }[]; }[]; regime_compensacao: IEscalaRegimeCompensacao[]; pausas?: { ativo: boolean; duracao_minutos: number; quantidade: number; tolerancia_minutos: number; }; constructor(escalaPayload: Partial); }