import { Rule } from '@angular-devkit/schematics'; import { MigrationReport } from '../../utils/report'; import { ScopeOptions } from '../../utils/scope'; import { TemplateTransformResult } from '../../utils/template-utils'; /** * Remove o uso de `CalendarMaskDirective` (`sCalendarMask`) e `DatepickerNoPeriodTabDirective` (`sDatepickerNoPeriodTab`), * que serão removidas na v20 em favor do `s-datepicker`. * * Decisão sobre o `migrate-p-datepicker` (não reaproveitado): ele migra `p-datepicker` (nome do PrimeNG 19) para * `s-datepicker`, mas NÃO cobre `p-calendar`, que é o único host de `sCalendarMask` (`p-calendar[sCalendarMask]`). * Além disso ele roda no workspace inteiro, sem respeitar `--path`/`--project`, e reescreve elementos que nada têm a ver com * as diretivas depreciadas. Trocar `p-calendar` por `s-datepicker` muda a API (modo, eventos, valor de range), então aqui só * se remove o que é depreciado e se avisa (`addManual`) a troca do elemento, apontando para o `migrate-p-datepicker`. * * - Templates (HTML e `template:` inline): remove `sCalendarMask` (e os inputs da diretiva `slotChar`/`autoClear`, que * deixariam de existir em `p-calendar`) e `sDatepickerNoPeriodTab`, só nas tags certas. * - TypeScript: remove as diretivas (e `CalendarMaskModule`) dos arrays (`imports`, `exports`, `hostDirectives`) e o import, * desde que todos os usos sejam elementos de array; senão mantém e avisa. */ export declare const ITEM_ID = "datepicker"; /** Migra um texto de template (HTML inteiro ou conteúdo de `template:` inline). */ export declare function migrateTemplateText(text: string): TemplateTransformResult; export declare function migrateDatepickerInContent(file: string, content: string): { updated: string; manual: Array<{ line: number; message: string; }>; }; export declare function migrateDatepickerDeprecated(options: ScopeOptions, report: MigrationReport): Rule; export declare function migrate(options?: ScopeOptions): Rule;