import { type HTMLAttributes } from "vue";
import { type TailwindClassProp } from "../shared/props.js";
/**
* Pagination component.
*
* Can be passed a slot like so to use a custom link element (like NuxtLink):
* ```vue
*
* {{ text ?? i }}
*
* ```
*/
declare const _default: __VLS_WithTemplateSlots & Readonly<{}>, {
customRoute: (route: string, i: number) => {
i: number;
href: string;
};
extraPages: number;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
link?(_: {
class: "\n\t\n\tblock\n\tfocus-outline\n\tborder-b-2\n\tborder-transparent\n\ttransition-all\n\toutlined:rounded\n\n\tfocus-outline\n\thover:text-accent-600\n\thover:border-b-accent-500\n\thover:scale-125\n";
i: number;
href: string;
text: string;
ariaLabel: string;
}): any;
link?(_: {
class: "\n\t\n\tblock\n\tfocus-outline\n\tborder-b-2\n\tborder-transparent\n\ttransition-all\n\toutlined:rounded\n\n\tfocus-outline\n\thover:text-accent-600\n\thover:border-b-accent-500\n\thover:scale-125\n";
i: number;
href: string;
text: number;
ariaLabel: string;
}): any;
link?(_: {
i: number;
href: string;
ariaLabel: string;
class: "\n\t\n\tblock\n\tfocus-outline\n\tborder-b-2\n\tborder-transparent\n\ttransition-all\n\toutlined:rounded\n\n\tfocus-outline\n\thover:text-accent-600\n\thover:border-b-accent-500\n\thover:scale-125\n";
}): any;
link?(_: {
i: number;
href: string;
ariaLabel: string;
class: "\n\t\n\tblock\n\tfocus-outline\n\tborder-b-2\n\tborder-transparent\n\ttransition-all\n\toutlined:rounded\n\n\tfocus-outline\n\thover:text-accent-600\n\thover:border-b-accent-500\n\thover:scale-125\n";
}): any;
link?(_: {
i: number;
href: string;
text: number;
ariaLabel: string;
class: "\n\t\n\tblock\n\tfocus-outline\n\tborder-b-2\n\tborder-transparent\n\ttransition-all\n\toutlined:rounded\n\n\tfocus-outline\n\thover:text-accent-600\n\thover:border-b-accent-500\n\thover:scale-125\n";
}): any;
link?(_: {
i: number;
href: string;
text: string;
ariaLabel: string;
class: "\n\t\n\tblock\n\tfocus-outline\n\tborder-b-2\n\tborder-transparent\n\ttransition-all\n\toutlined:rounded\n\n\tfocus-outline\n\thover:text-accent-600\n\thover:border-b-accent-500\n\thover:scale-125\n";
}): any;
current?(_: {
tabindex: string;
i: number;
ariaLabel: string;
aria_current: boolean;
class: "\n\t\n\tblock\n\tfocus-outline\n\tborder-b-2\n\tborder-transparent\n\ttransition-all\n\toutlined:rounded\n\n\tborder-b-accent-500\n\tscale-125\n";
}): any;
}>;
export default _default;
type RealProps = {
/** The total number of pages. */
total: number;
/** The number of the current page. It must be valid, between 0 - total or the component will throw an error. */
current: number;
/** The base route/link path for the page. Should end with a forward slash `/`. */
route: string;
/**
* A function to customize the output href and page link number. By default, page 0 is page 1, page 1 is 1, then everything else is normal.
*
* This is because usually we have routes like: `/page/1`, `/page/2`, not `/page/0`.
*
* You can use this function to customize things further. For example, make `/page/1` just `/`
*/
customRoute?: (route: string, i: number) => {
i: number;
href: string;
};
/** How many extra pages to show to each side of the current page. */
extraPages?: number;
};
interface Props extends
/** @vue-ignore */
Partial & TailwindClassProp>, RealProps {
}
type __VLS_WithTemplateSlots = T & {
new (): {
$slots: S;
};
};
//# sourceMappingURL=LibPagination.vue.d.ts.map