import PDFFont from '../../api/PDFFont.js'; import PDFButton from '../../api/form/PDFButton.js'; import PDFCheckBox from '../../api/form/PDFCheckBox.js'; import PDFDropdown from '../../api/form/PDFDropdown.js'; import PDFField from '../../api/form/PDFField.js'; import PDFOptionList from '../../api/form/PDFOptionList.js'; import PDFRadioGroup from '../../api/form/PDFRadioGroup.js'; import PDFSignature from '../../api/form/PDFSignature.js'; import PDFTextField from '../../api/form/PDFTextField.js'; import { PDFOperator, PDFWidgetAnnotation } from '../../core/index.js'; /*********************** Appearance Provider Types ****************************/ type CheckBoxAppearanceProvider = (checkBox: PDFCheckBox, widget: PDFWidgetAnnotation) => AppearanceOrMapping<{ on: PDFOperator[]; off: PDFOperator[]; }>; type RadioGroupAppearanceProvider = (radioGroup: PDFRadioGroup, widget: PDFWidgetAnnotation) => AppearanceOrMapping<{ on: PDFOperator[]; off: PDFOperator[]; }>; type ButtonAppearanceProvider = (button: PDFButton, widget: PDFWidgetAnnotation, font: PDFFont) => AppearanceOrMapping; type DropdownAppearanceProvider = (dropdown: PDFDropdown, widget: PDFWidgetAnnotation, font: PDFFont) => AppearanceOrMapping; type OptionListAppearanceProvider = (optionList: PDFOptionList, widget: PDFWidgetAnnotation, font: PDFFont) => AppearanceOrMapping; type TextFieldAppearanceProvider = (textField: PDFTextField, widget: PDFWidgetAnnotation, font: PDFFont) => AppearanceOrMapping; type SignatureAppearanceProvider = (signature: PDFSignature, widget: PDFWidgetAnnotation, font: PDFFont) => AppearanceOrMapping; /******************* Appearance Provider Utility Types ************************/ export type AppearanceMapping = { normal: T; rollover?: T; down?: T; }; type AppearanceOrMapping = T | AppearanceMapping; export type AppearanceProviderFor = T extends PDFCheckBox ? CheckBoxAppearanceProvider : T extends PDFRadioGroup ? RadioGroupAppearanceProvider : T extends PDFButton ? ButtonAppearanceProvider : T extends PDFDropdown ? DropdownAppearanceProvider : T extends PDFOptionList ? OptionListAppearanceProvider : T extends PDFTextField ? TextFieldAppearanceProvider : T extends PDFSignature ? SignatureAppearanceProvider : never; /********************* Appearance Provider Functions **************************/ export declare const normalizeAppearance: (appearance: T | AppearanceMapping) => AppearanceMapping; export declare const defaultCheckBoxAppearanceProvider: AppearanceProviderFor; export declare const defaultRadioGroupAppearanceProvider: AppearanceProviderFor; export declare const defaultButtonAppearanceProvider: AppearanceProviderFor; export declare const defaultTextFieldAppearanceProvider: AppearanceProviderFor; export declare const defaultDropdownAppearanceProvider: AppearanceProviderFor; export declare const defaultOptionListAppearanceProvider: AppearanceProviderFor; export {}; //# sourceMappingURL=appearances.d.ts.map