import { NeonFunctionalColor } from '@/model/common/color/NeonFunctionalColor';
/**
 * A pagination component that displays a list of page numbers and allows the user to navigate between pages. Typically,
 * the component displays the first and last page numbers and 3 pages before and after the current page.
 */
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    /**
     * The current page number.
     */
    page: {
        type: NumberConstructor;
        required: true;
    };
    /**
     * The URL template for the pagination links. The template should contain a '{page}' placeholder that will be
     * substituted in links with the correct page number.
     */
    urlTemplate: {
        type: StringConstructor;
    };
    /**
     * The number of items per page.
     */
    pageSize: {
        type: NumberConstructor;
        default: number;
    };
    /**
     * The total number of items.
     */
    total: {
        type: NumberConstructor;
        required: true;
    };
    /**
     * Whether to display links to the first and last pages.
     */
    displayFirstAndLast: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * The accent color of the component.
     */
    color: {
        type: () => NeonFunctionalColor;
        default: () => NeonFunctionalColor;
    };
}>, {
    pageCount: import("vue").ComputedRef<number>;
    hidePagination: import("vue").ComputedRef<boolean>;
    previousPage: import("vue").ComputedRef<number>;
    disabledPrevious: import("vue").ComputedRef<boolean>;
    nextPage: import("vue").ComputedRef<number>;
    disabledNext: import("vue").ComputedRef<boolean>;
    showFirstPageWithEllipsis: import("vue").ComputedRef<boolean>;
    showLastPageWithEllipsis: import("vue").ComputedRef<boolean>;
    pageRange: import("vue").ComputedRef<number[]>;
    url: (page: number) => string | undefined;
    emit: (event: "page-change", ...args: any[]) => void;
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "page-change"[], "page-change", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    /**
     * The current page number.
     */
    page: {
        type: NumberConstructor;
        required: true;
    };
    /**
     * The URL template for the pagination links. The template should contain a '{page}' placeholder that will be
     * substituted in links with the correct page number.
     */
    urlTemplate: {
        type: StringConstructor;
    };
    /**
     * The number of items per page.
     */
    pageSize: {
        type: NumberConstructor;
        default: number;
    };
    /**
     * The total number of items.
     */
    total: {
        type: NumberConstructor;
        required: true;
    };
    /**
     * Whether to display links to the first and last pages.
     */
    displayFirstAndLast: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * The accent color of the component.
     */
    color: {
        type: () => NeonFunctionalColor;
        default: () => NeonFunctionalColor;
    };
}>> & Readonly<{
    "onPage-change"?: ((...args: any[]) => any) | undefined;
}>, {
    color: NeonFunctionalColor;
    pageSize: number;
    displayFirstAndLast: boolean;
}, {}, {
    NeonButton: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
        href: {
            type: StringConstructor;
            default: null;
        };
        label: {
            type: StringConstructor;
            default: null;
        };
        size: {
            type: () => import("../../../neon").NeonButtonSize;
            default: import("../../../neon").NeonButtonSize;
        };
        color: {
            type: () => NeonFunctionalColor;
            default: NeonFunctionalColor;
        };
        inverse: {
            type: BooleanConstructor;
            default: boolean;
        };
        alternateColor: {
            type: () => NeonFunctionalColor;
            default: null;
        };
        icon: {
            type: StringConstructor;
            default: null;
        };
        iconAriaLabel: {
            type: StringConstructor;
        };
        iconPosition: {
            type: () => import("../../../neon").NeonHorizontalPosition;
            default: import("../../../neon").NeonHorizontalPosition;
        };
        buttonStyle: {
            type: () => import("../../../neon").NeonButtonStyle;
            default: import("../../../neon").NeonButtonStyle;
        };
        buttonType: {
            type: () => import("../../../neon").NeonButtonType;
            default: import("../../../neon").NeonButtonType;
        };
        state: {
            type: () => import("../../../neon").NeonState;
            default: import("../../../neon").NeonState;
        };
        disabled: {
            type: BooleanConstructor;
            default: boolean;
        };
        transparent: {
            type: BooleanConstructor;
            default: boolean;
        };
        outline: {
            type: BooleanConstructor;
            default: boolean;
        };
        circular: {
            type: BooleanConstructor;
            default: null;
        };
        fullWidth: {
            type: BooleanConstructor;
            default: null;
        };
        indicator: {
            type: BooleanConstructor;
            default: boolean;
        };
        indicatorExpanded: {
            type: BooleanConstructor;
            default: null;
        };
    }>, {
        iconName: import("vue").ComputedRef<string>;
        classes: import("vue").ComputedRef<(string | false | {
            [x: string]: boolean | "" | NeonFunctionalColor;
            'neon-button--text-transparent': boolean;
            'neon-button--disabled': boolean;
            'neon-button--inverse': boolean;
            'neon-button--circular': boolean;
            'neon-button--no-outline': boolean;
            'neon-button--full-width': boolean;
            'neon-button--with-icon neon-button--icon-only': boolean | "";
            'neon-button--with-icon neon-button--icon-left': boolean | "";
            'neon-button--with-icon neon-button--icon-right': boolean | "";
        })[]>;
        button: import("vue").Ref<HTMLElement | null, HTMLElement | null>;
        attrs: {
            [x: string]: unknown;
        };
        sanitizedAttributes: import("vue").ComputedRef<{
            [x: string]: unknown;
        }>;
        clickLink: () => void | undefined;
        clickButton: () => void;
    }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "click"[], "click", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
        href: {
            type: StringConstructor;
            default: null;
        };
        label: {
            type: StringConstructor;
            default: null;
        };
        size: {
            type: () => import("../../../neon").NeonButtonSize;
            default: import("../../../neon").NeonButtonSize;
        };
        color: {
            type: () => NeonFunctionalColor;
            default: NeonFunctionalColor;
        };
        inverse: {
            type: BooleanConstructor;
            default: boolean;
        };
        alternateColor: {
            type: () => NeonFunctionalColor;
            default: null;
        };
        icon: {
            type: StringConstructor;
            default: null;
        };
        iconAriaLabel: {
            type: StringConstructor;
        };
        iconPosition: {
            type: () => import("../../../neon").NeonHorizontalPosition;
            default: import("../../../neon").NeonHorizontalPosition;
        };
        buttonStyle: {
            type: () => import("../../../neon").NeonButtonStyle;
            default: import("../../../neon").NeonButtonStyle;
        };
        buttonType: {
            type: () => import("../../../neon").NeonButtonType;
            default: import("../../../neon").NeonButtonType;
        };
        state: {
            type: () => import("../../../neon").NeonState;
            default: import("../../../neon").NeonState;
        };
        disabled: {
            type: BooleanConstructor;
            default: boolean;
        };
        transparent: {
            type: BooleanConstructor;
            default: boolean;
        };
        outline: {
            type: BooleanConstructor;
            default: boolean;
        };
        circular: {
            type: BooleanConstructor;
            default: null;
        };
        fullWidth: {
            type: BooleanConstructor;
            default: null;
        };
        indicator: {
            type: BooleanConstructor;
            default: boolean;
        };
        indicatorExpanded: {
            type: BooleanConstructor;
            default: null;
        };
    }>> & Readonly<{
        onClick?: ((...args: any[]) => any) | undefined;
    }>, {
        color: NeonFunctionalColor;
        icon: string;
        label: string;
        inverse: boolean;
        disabled: boolean;
        href: string;
        size: import("../../../neon").NeonButtonSize;
        alternateColor: NeonFunctionalColor;
        outline: boolean;
        iconPosition: import("../../../neon").NeonHorizontalPosition;
        buttonStyle: import("../../../neon").NeonButtonStyle;
        buttonType: import("../../../neon").NeonButtonType;
        state: import("../../../neon").NeonState;
        transparent: boolean;
        circular: boolean;
        fullWidth: boolean;
        indicator: boolean;
        indicatorExpanded: boolean;
    }, {}, {
        NeonExpansionIndicator: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
            expanded: {
                type: BooleanConstructor;
                default: boolean;
            };
            inverse: {
                type: BooleanConstructor;
                default: boolean; /**
                 * The current page number.
                 */
            };
            disabled: {
                type: BooleanConstructor;
                default: boolean;
            };
            color: {
                type: () => NeonFunctionalColor;
                default: null;
            };
        }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
            expanded: {
                type: BooleanConstructor;
                default: boolean;
            };
            inverse: {
                type: BooleanConstructor;
                default: boolean; /**
                 * The current page number.
                 */
            };
            disabled: {
                type: BooleanConstructor;
                default: boolean;
            };
            color: {
                type: () => NeonFunctionalColor;
                default: null;
            };
        }>> & Readonly<{}>, {
            color: NeonFunctionalColor;
            inverse: boolean;
            disabled: boolean;
            expanded: boolean;
        }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
        NeonIcon: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
            name: {
                type: StringConstructor;
                required: true;
            };
            id: {
                type: StringConstructor;
                default: null;
            };
            color: {
                type: () => NeonFunctionalColor;
                default: null;
            };
            inverse: {
                type: BooleanConstructor;
                default: boolean;
            };
            disabled: {
                type: BooleanConstructor;
                default: boolean;
            };
        }>, {
            sanitizedAttributes: import("vue").ComputedRef<{
                [x: string]: unknown;
            }>;
            icon: import("vue").ComputedRef<string | undefined>;
        }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
            name: {
                type: StringConstructor;
                required: true;
            };
            id: {
                type: StringConstructor;
                default: null;
            };
            color: {
                type: () => NeonFunctionalColor;
                default: null;
            };
            inverse: {
                type: BooleanConstructor;
                default: boolean;
            };
            disabled: {
                type: BooleanConstructor;
                default: boolean;
            };
        }>> & Readonly<{}>, {
            color: NeonFunctionalColor;
            id: string;
            inverse: boolean;
            disabled: boolean;
        }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
        NeonLink: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
            href: {
                type: StringConstructor;
                default: null;
            };
            noStyle: {
                type: BooleanConstructor;
                default: boolean;
            };
            outlineStyle: {
                type: () => import("../../../neon").NeonOutlineStyle;
                default: import("../../../neon").NeonOutlineStyle;
            };
            externalIndicator: {
                type: BooleanConstructor;
                default: boolean;
            };
        }>, {
            neonLink: import("vue").Ref<HTMLAnchorElement | null, HTMLAnchorElement | null>;
            routerUrl: import("vue").ComputedRef<string | undefined>;
            sanitizedAttributes: import("vue").ComputedRef<{
                [x: string]: unknown;
            }>;
            activeRoute: import("vue").ComputedRef<boolean | "" | undefined>;
            exactRoute: import("vue").ComputedRef<boolean | "" | undefined>;
            onClick: () => void;
            onSpace: () => Promise<void>;
        }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "click"[], "click", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
            href: {
                type: StringConstructor;
                default: null;
            };
            noStyle: {
                type: BooleanConstructor;
                default: boolean;
            };
            outlineStyle: {
                type: () => import("../../../neon").NeonOutlineStyle;
                default: import("../../../neon").NeonOutlineStyle;
            };
            externalIndicator: {
                type: BooleanConstructor;
                default: boolean;
            };
        }>> & Readonly<{
            onClick?: ((...args: any[]) => any) | undefined;
        }>, {
            href: string;
            noStyle: boolean;
            outlineStyle: import("../../../neon").NeonOutlineStyle;
            externalIndicator: boolean;
        }, {}, {
            NeonIcon: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
                name: {
                    type: StringConstructor;
                    required: true;
                };
                id: {
                    type: StringConstructor;
                    default: null;
                };
                color: {
                    type: () => NeonFunctionalColor;
                    default: null;
                };
                inverse: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                disabled: {
                    type: BooleanConstructor;
                    default: boolean;
                };
            }>, {
                sanitizedAttributes: import("vue").ComputedRef<{
                    [x: string]: unknown;
                }>;
                icon: import("vue").ComputedRef<string | undefined>;
            }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
                name: {
                    type: StringConstructor;
                    required: true;
                };
                id: {
                    type: StringConstructor;
                    default: null;
                };
                color: {
                    type: () => NeonFunctionalColor;
                    default: null;
                };
                inverse: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                disabled: {
                    type: BooleanConstructor;
                    default: boolean;
                };
            }>> & Readonly<{}>, {
                color: NeonFunctionalColor;
                id: string;
                inverse: boolean;
                disabled: boolean;
            }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
        }, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
    }, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
    NeonIcon: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
        name: {
            type: StringConstructor;
            required: true;
        };
        id: {
            type: StringConstructor;
            default: null;
        };
        color: {
            type: () => NeonFunctionalColor;
            default: null;
        };
        inverse: {
            type: BooleanConstructor;
            default: boolean;
        };
        disabled: {
            type: BooleanConstructor;
            default: boolean;
        };
    }>, {
        sanitizedAttributes: import("vue").ComputedRef<{
            [x: string]: unknown;
        }>;
        icon: import("vue").ComputedRef<string | undefined>;
    }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
        name: {
            type: StringConstructor;
            required: true;
        };
        id: {
            type: StringConstructor;
            default: null;
        };
        color: {
            type: () => NeonFunctionalColor;
            default: null;
        };
        inverse: {
            type: BooleanConstructor;
            default: boolean;
        };
        disabled: {
            type: BooleanConstructor;
            default: boolean;
        };
    }>> & Readonly<{}>, {
        color: NeonFunctionalColor;
        id: string;
        inverse: boolean;
        disabled: boolean;
    }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
export default _default;
