import type { Ref } from 'vue'; import type { Group } from './group.js'; import type { EventProp } from "../../../util/index.js"; export declare const makeDataTablePaginateProps: (defaults?: Defaults | undefined) => { page: unknown extends Defaults["page"] ? { type: (StringConstructor | NumberConstructor)[]; default: number; } : Omit<{ type: (StringConstructor | NumberConstructor)[]; default: number; }, "type" | "default"> & { type: import("vue").PropType; default: unknown extends Defaults["page"] ? string | number : NonNullable | Defaults["page"]; }; itemsPerPage: unknown extends Defaults["itemsPerPage"] ? { type: (StringConstructor | NumberConstructor)[]; default: number; } : Omit<{ type: (StringConstructor | NumberConstructor)[]; default: number; }, "type" | "default"> & { type: import("vue").PropType; default: unknown extends Defaults["itemsPerPage"] ? string | number : NonNullable | Defaults["itemsPerPage"]; }; }; type PaginationProps = { page: number | string; 'onUpdate:page': EventProp | undefined; itemsPerPage: number | string; 'onUpdate:itemsPerPage': EventProp | undefined; itemsLength?: number | string; }; export declare function createPagination(props: PaginationProps): { page: Ref & { readonly externalValue: string | number; }; itemsPerPage: Ref & { readonly externalValue: string | number; }; }; export declare function providePagination(options: { page: Ref; itemsPerPage: Ref; itemsLength: Ref; }): { page: Ref; itemsPerPage: Ref; startIndex: import("vue").ComputedRef; stopIndex: import("vue").ComputedRef; pageCount: import("vue").ComputedRef; itemsLength: Ref; nextPage: () => void; prevPage: () => void; setPage: (value: number) => void; setItemsPerPage: (value: number) => void; }; export declare function usePagination(): { page: Ref; itemsPerPage: Ref; startIndex: Ref; stopIndex: Ref; pageCount: Ref; itemsLength: Ref; prevPage: () => void; nextPage: () => void; setPage: (value: number) => void; setItemsPerPage: (value: number) => void; }; export declare function usePaginatedItems(options: { items: Ref)[]>; startIndex: Ref; stopIndex: Ref; itemsPerPage: Ref; }): { paginatedItems: import("vue").ComputedRef)[]>; };