import { ValidatorFn } from "@angular/forms"; import { CalendarLocaleOptions } from "@seniorsistemas/angular-components"; import { unitOfTime } from "moment"; import { CompareType } from "../../../core/enums"; import { DateValidateOptions, DateCompareOptions } from "../../../core/interfaces"; export declare class DateValidator { constructor(); /** * Validador que verifica se a data está no formato correto. * @param dateFormat Formato da data * @param options Opções para validar a data * @returns Objeto no formato { invalidDate: true } indicando que a data não é válida */ static isValidDate(dateFormat: string, options?: DateValidateOptions): ValidatorFn; /** * Validador que verifica se data inserida no formulário é inferior à data informada. * @param compareToDate Data a ser comparada. * @param dateFormat Informações do local * @param granularity Granularidade da comparação. Ex.: 'day', 'mounth', 'year'. * @returns Objeto no formato { lowerDate: true } indicando que a data é menor */ static isDateLower(compareToDate: string, dateFormat: string, granularity?: unitOfTime.StartOf): ValidatorFn; /** * Validador genérico usando comparação entre datas * @param compareToDate Data a ser comparada * @param dateFormat Informações do local * @param compareType Tipo de comparação * @param options Opções para a comparação * @returns Objeto no formato { nomeChave: true } indicando que a data não é válida */ static isValidDateCompare(compareToDate: string, dateFormat: string, compareType: CompareType, options?: DateCompareOptions): ValidatorFn; /** * Retorna o formato da data de acordo com o local * @param calendar Informações de calendário * @param removeDayPart Remove os dias do formato da data (Opcional) * @returns Exemplo de retornos 'DDMMYYYY', 'MMYYYY', ou seja, retorna o formato somente com letras */ static getDateFormatFromLocale(calendar: CalendarLocaleOptions, removeDayPart?: boolean): string; /** * Retorna o formato da data/hora de acordo com o local * @param calendar Informações de calendário * @returns Exemplo de retornos 'DD/MM/YYYY HH:mm:ss' */ static getDateTimeFormatFromLocale(calendar: CalendarLocaleOptions): string; /** * Retorna o formato da data de acordo com o local * @param calendar Informações de calendário * @returns Exemplo de retornos 'DD/MM/YYYY' */ static getDateFormatFromCalendar(calendar: CalendarLocaleOptions): string; /** * Método auxiliar que realiza a comparação entre as datas e retorna um objeto caso a validação seja válida * @param referenceDate Data de referência para a comparação * @param compareToDate Data a ser comparada. * @param compareType Tipo de comparação. * @param options Opções para a comparação * @returns Objeto no formato { nomeChave: true } indicando que a data não é válida */ private static dateCompare; /** * Retorna uma mascara com as barras Ex: ‘DD/MM/YYYY‘ * @param calendar */ static getFormatDateWithBar(calendar: CalendarLocaleOptions): string; }