import { PropType } from 'vue'; import { HeaderFooterKind, HeaderFooterPageNumberAlignment, HeaderFooterPageNumbersInfo, SectionPageNumberingFormat } from '../../../../../document-api/src/index.js'; import { CommandExecutionResult, CommandState } from '../../../public/ui/types.js'; type CommandReceipt = Exclude; type FailedCommandReceipt = Extract; type PageNumberCommandResult = boolean | Pick, 'success'> | (Pick & { failure: Pick; }); type PageNumberCommandState = Pick & Partial; type PagePosition = 'top' | 'bottom'; interface PageNumberChoice { position: PagePosition; alignment?: HeaderFooterPageNumberAlignment; showOnFirstPage?: boolean; format?: SectionPageNumberingFormat; start?: number | null; } interface RememberedChoice { position: PagePosition; alignment: HeaderFooterPageNumberAlignment | null; showOnFirstPage: boolean; } type PageNumberMenuOutcome = { action: 'apply'; choice: RememberedChoice; } | { action: 'remove'; kinds: HeaderFooterKind[]; } | { action: 'cursor'; }; declare const _default: import('vue').DefineComponent; default: null; }; /** Command state of `page-number-insert` (insert at the header/footer cursor). */ atCursorState: { type: PropType; default: null; }; /** Header/footer structure cannot be suggested, so numbering needs Editing. */ suggesting: { type: BooleanConstructor; default: boolean; }; /** The selection is in a header or footer, so a disabled cursor insert needs a collapsed caret. */ inHeaderFooter: { type: BooleanConstructor; default: boolean; }; /** Resolves the caret section's page numbers (`headerFooters.pageNumbers.get`), or null. */ loadCurrent: { type: PropType<() => Promise>; default: null; }; /** Runs `page-numbers-apply` with `{ position, alignment?, showOnFirstPage?, format?, start? }`. */ applyPageNumbers: { type: PropType<(choice: PageNumberChoice) => Promise>; required: true; }; /** Runs `page-numbers-remove`. */ removePageNumbers: { type: PropType<() => Promise>; required: true; }; /** Runs `page-number-insert` at the header/footer cursor. */ insertAtCursor: { type: PropType<() => Promise>; required: true; }; /** Closes the popover after a successful action. */ close: { type: PropType<(outcome: PageNumberMenuOutcome) => void>; required: true; }; /** Last choice made in this session, used when the section has no numbers yet. */ initialChoice: { type: PropType | null>; default: null; }; }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly; default: null; }; /** Command state of `page-number-insert` (insert at the header/footer cursor). */ atCursorState: { type: PropType; default: null; }; /** Header/footer structure cannot be suggested, so numbering needs Editing. */ suggesting: { type: BooleanConstructor; default: boolean; }; /** The selection is in a header or footer, so a disabled cursor insert needs a collapsed caret. */ inHeaderFooter: { type: BooleanConstructor; default: boolean; }; /** Resolves the caret section's page numbers (`headerFooters.pageNumbers.get`), or null. */ loadCurrent: { type: PropType<() => Promise>; default: null; }; /** Runs `page-numbers-apply` with `{ position, alignment?, showOnFirstPage?, format?, start? }`. */ applyPageNumbers: { type: PropType<(choice: PageNumberChoice) => Promise>; required: true; }; /** Runs `page-numbers-remove`. */ removePageNumbers: { type: PropType<() => Promise>; required: true; }; /** Runs `page-number-insert` at the header/footer cursor. */ insertAtCursor: { type: PropType<() => Promise>; required: true; }; /** Closes the popover after a successful action. */ close: { type: PropType<(outcome: PageNumberMenuOutcome) => void>; required: true; }; /** Last choice made in this session, used when the section has no numbers yet. */ initialChoice: { type: PropType | null>; default: null; }; }>> & Readonly<{}>, { suggesting: boolean; pageNumbersState: PageNumberCommandState | null; atCursorState: PageNumberCommandState | null; inHeaderFooter: boolean; loadCurrent: () => Promise; initialChoice: Partial | null; }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>; export default _default;