import { type HTMLAttributes, type RendererElement, type VNode } from 'vue';
import { type CommonPaginationProps, type PaginationToggleTemplateProps } from './common';
import { type InsetBreakpointProps } from '../../breakpoints';
import { type OUIAProps } from '../../helpers/ouia';
interface Props extends OUIAProps, CommonPaginationProps, InsetBreakpointProps, /* @vue-ignore */ HTMLAttributes {
/** Position where pagination is rendered. */
variant?: 'top' | 'bottom';
/** Flag indicating if pagination should not be sticky on mobile */
static?: boolean;
/** Flag indicating if pagination is compact */
compact?: boolean;
/** Flag indicating if pagination should stick to its position (based on variant). For dynamic sticky control, use stickyBase and stickyStuck instead. */
sticky?: boolean;
/** Flag indicating the pagination should have sticky positioning relative to its container. */
stickyBase?: boolean;
/** Flag indicating the pagination should have stuck styling, when it is not at the edge of the scroll container. */
stickyStuck?: boolean;
/** Flag indicating that pagination should use page insets. */
pageInsets?: boolean;
/** Total number of items. When undefined the total is unknown: the last page is the one after the current page. */
count?: number;
/** Page we start at. */
firstPage?: number;
/** Start index of rows to display, used in place of providing page */
offset?: number;
/** First index of items on current page. */
itemsStart?: number;
/** Last index of items on current page. */
itemsEnd?: number;
/** The type or title of the items being paginated. */
titleItems?: string;
/** The title of a page displayed beside the page number. */
titlePage?: string;
/** The title of a page displayed beside the page number (plural form) */
titlePages?: string;
/** The title of the pagination options menu. Defaults to the `paginationItemsPerPage` message. */
titleItemsPerPage?: string;
/** The suffix to be displayed after each option on the options menu dropdown. Defaults to the `paginationPerPageSuffix` message. */
titlePerPageSuffix?: string;
/** Accessible label for the button which moves to the first page. Defaults to the `paginationFirstPage` message. */
toFirstPageAriaLabel?: string;
/** Accessible label for the button which moves to the previous page. Defaults to the `paginationPreviousPage` message. */
toPreviousPageAriaLabel?: string;
/** Accessible label for the button which moves to the last page. Defaults to the `paginationLastPage` message. */
toLastPageAriaLabel?: string;
/** Accessible label for the button which moves to the next page. Defaults to the `paginationNextPage` message. */
toNextPageAriaLabel?: string;
/** Accessible label for the options toggle. */
titleOptionsToggle?: string;
/** Accessible label for the input displaying the current page. Defaults to the `paginationCurrentPage` message. */
currPageAriaLabel?: string;
/** Accessible label for the pagination component. Defaults to the `pagination` message. */
paginationAriaLabel?: string;
/** Label for the English word "of". Defaults to the `paginationOf` message. */
ofWord?: string;
/** The container to append the options menu to */
menuAppendTo?: 'inline' | string | RendererElement | null;
}
declare const _default: typeof __VLS_export;
export default _default;
declare const __VLS_export: __VLS_WithSlots any;
"update:page": (value: number) => any;
perPageSelect: (perPage: number, page: number, startIdx: number, endIdx: number) => any;
firstClick: (page: number) => any;
previousClick: (page: number) => any;
nextClick: (page: number) => any;
lastClick: (page: number) => any;
setPage: (page: number, perPage: number, startIdx: number, endIdx: number) => any;
pageInput: (page: number) => any;
}, string, import("vue").PublicProps, Readonly & Readonly<{
"onUpdate:perPage"?: ((value: number) => any) | undefined;
"onUpdate:page"?: ((value: number) => any) | undefined;
onPerPageSelect?: ((perPage: number, page: number, startIdx: number, endIdx: number) => any) | undefined;
onFirstClick?: ((page: number) => any) | undefined;
onPreviousClick?: ((page: number) => any) | undefined;
onNextClick?: ((page: number) => any) | undefined;
onLastClick?: ((page: number) => any) | undefined;
onSetPage?: ((page: number, perPage: number, startIdx: number, endIdx: number) => any) | undefined;
onPageInput?: ((page: number) => any) | undefined;
}>, {
page: number;
variant: "top" | "bottom";
ouiaSafe: boolean;
count: number;
dropUp: boolean;
perPage: number;
perPageOptions: import("./common").PerPageOption[];
widgetId: string;
firstPage: number;
titleOptionsToggle: string;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
default?: (props?: Record) => VNode[];
/** Content of the total items and of the options menu toggle */
total?: (props: PaginationToggleTemplateProps) => VNode[];
}>;
type __VLS_WithSlots = T & {
new (): {
$slots: S;
};
};
//# sourceMappingURL=Pagination.vue.d.ts.map