import type { NewTablePropSet, TablePlugin } from '../types/TablePlugin.js'; import { type Readable, type Updater, type Writable } from 'svelte/store'; export type PaginationConfig = { initialPageIndex?: number; initialPageSize?: number; } & ({ serverSide?: false | undefined; serverItemCount?: undefined; } | { serverSide: true; serverItemCount: Readable; }); export interface PaginationState { pageSize: Writable; pageIndex: Writable; pageCount: Readable; hasPreviousPage: Readable; hasNextPage: Readable; } export declare const createPageStore: ({ items, initialPageSize, initialPageIndex, serverSide, serverItemCount, }: PageStoreConfig) => { pageSize: { subscribe: (this: void, run: import("svelte/store").Subscriber, invalidate?: ((value?: number | undefined) => void) | undefined) => import("svelte/store").Unsubscriber; update: (fn: Updater) => void; set: (newPageSize: number) => void; }; pageIndex: Writable; pageCount: Readable; serverItemCount: Readable | undefined; hasPreviousPage: Readable; hasNextPage: Readable; }; export interface PageStoreConfig { items: Readable; initialPageSize?: number; initialPageIndex?: number; serverSide?: boolean; serverItemCount?: Readable; } export declare const addPagination: ({ initialPageIndex, initialPageSize, serverSide, serverItemCount, }?: PaginationConfig) => TablePlugin, NewTablePropSet>;