///
import type { MeltActionReturn } from '../../internal/types.js';
import type { PaginationEvents } from './events.js';
import type { CreatePaginationProps, Page } from './types.js';
export declare function createPagination(props: CreatePaginationProps): {
elements: {
root: import("../../internal/helpers/index.js").MeltElement>, () => {
'data-scope': string;
}, string>;
pageTrigger: import("../../internal/helpers/index.js").MeltElement<{
update: (updater: import("svelte/store").Updater, sideEffect?: ((newValue: number) => void) | undefined) => void;
set: (this: void, value: number) => void;
subscribe(this: void, run: import("svelte/store").Subscriber, invalidate?: import("svelte/store").Invalidator | undefined): import("svelte/store").Unsubscriber;
get: () => number;
destroy?: (() => void) | undefined;
}, (node: HTMLElement) => MeltActionReturn, ($page: number) => (pageItem: Page) => {
'aria-label': string;
'data-value': number;
'data-selected': string | undefined;
}, string>;
prevButton: import("../../internal/helpers/index.js").MeltElement<{
update: (updater: import("svelte/store").Updater, sideEffect?: ((newValue: number) => void) | undefined) => void;
set: (this: void, value: number) => void;
subscribe(this: void, run: import("svelte/store").Subscriber, invalidate?: import("svelte/store").Invalidator | undefined): import("svelte/store").Unsubscriber;
get: () => number;
destroy?: (() => void) | undefined;
}, (node: HTMLElement) => MeltActionReturn, ($page: number) => {
readonly 'aria-label': "Previous";
readonly disabled: boolean;
}, string>;
nextButton: import("../../internal/helpers/index.js").MeltElement<[{
update: (updater: import("svelte/store").Updater, sideEffect?: ((newValue: number) => void) | undefined) => void;
set: (this: void, value: number) => void;
subscribe(this: void, run: import("svelte/store").Subscriber, invalidate?: import("svelte/store").Invalidator | undefined): import("svelte/store").Unsubscriber;
get: () => number;
destroy?: (() => void) | undefined;
}, import("../../internal/helpers/withGet.js").WithGet>], (node: HTMLElement) => MeltActionReturn, ([$page, $totalPages]: [number, number]) => {
readonly 'aria-label': "Next";
readonly disabled: boolean;
}, string>;
};
states: {
range: import("svelte/store").Readable<{
start: number;
end: number;
}>;
page: {
update: (updater: import("svelte/store").Updater, sideEffect?: ((newValue: number) => void) | undefined) => void;
set: (this: void, value: number) => void;
subscribe(this: void, run: import("svelte/store").Subscriber, invalidate?: import("svelte/store").Invalidator | undefined): import("svelte/store").Unsubscriber;
get: () => number;
destroy?: (() => void) | undefined;
};
pages: import("svelte/store").Readable;
totalPages: import("svelte/store").Readable;
};
options: import("../../internal/helpers/index.js").ToWritableStores | undefined;
onPageChange?: import("../../internal/helpers/index.js").ChangeFn | undefined;
}, "page" | "defaultPage" | "onPageChange">>;
};