import { TemplateRef } from '@angular/core'; import { PassThroughOption, PassThrough } from 'primeng/api'; import { InputTextPassThrough } from 'primeng/types/inputtext'; /** * Custom pass-through(pt) options. * @template I Type of instance. * * @see {@link InputMask.pt} * @group Interface */ interface InputMaskPassThroughOptions { /** * Used to pass attributes to the host's DOM element. */ host?: PassThroughOption; /** * Used to pass attributes to the root's DOM element. */ root?: PassThroughOption; /** * Used to pass attributes to the InputText component. */ pcInputText?: InputTextPassThrough; /** * Used to pass attributes to the clear icon's DOM element. */ clearIcon?: PassThroughOption; } /** * Defines valid pass-through options in InputMask. * @see {@link InputMaskPassThroughOptions} * * @template I Type of instance. */ type InputMaskPassThrough = PassThrough>; /** * Caret positions. * @group Types */ type Caret = { begin: number; end: number; }; /** * Defines valid templates in InputMask. * @group Templates */ interface InputMaskTemplates { /** * Custom clear icon template. */ clearicon(): TemplateRef; } export type { Caret, InputMaskPassThrough, InputMaskPassThroughOptions, InputMaskTemplates };