/**
 * @license
 *-------------------------------------------------------------------------------------------
 * Copyright © 2026 Progress Software Corporation. All rights reserved.
 * Licensed under commercial license. See LICENSE.md in the package root for more information
 *-------------------------------------------------------------------------------------------
 */
import { Navigation } from '@progress/kendo-vue-common';
import { ActionSheetItemProps } from './interfaces/ActionSheetItemProps';
import { PropType } from 'vue';
/**
 * The props of the ActionSheet component.
 */
export interface ActionSheetProps {
    /**
     * The collection of items that will be rendered in the ActionSheet.
     */
    items?: ActionSheetItemProps[];
    /**
     * Specifies the text that is rendered under the title.
     */
    subTitle?: string;
    /**
     * Specifies the text that is rendered as title.
     */
    title?: string;
    /**
     * Fires when the modal overlay is clicked.
     */
    onClose?: (event: any) => void;
    /**
     * Fires when an ActionSheet item is clicked.
     */
    onItemselect?: (event: {
        syntheticEvent: any;
        title?: string;
        item?: any;
    }) => void;
    /**
     * Specifies the `tabIndex` of the ActionSheet.
     */
    tabIndex?: number;
    /**
     * Specifies if the ActionSheet can be navigatable with keyboard.
     * Defaults to `true`.
     */
    navigatable?: boolean;
    /**
     * Specifies the selectors of the navigatable elements inside the templates of the ActionSheet.
     */
    navigatableElements?: string[];
    /**
     * Controls the popup animation. By default, the animation is enabled.
     */
    animation?: boolean;
    /**
     * @hidden
     */
    animationStyles?: any;
    /**
     * @hidden
     * Used to render the close button in the header of the ActionSheet.
     */
    actions?: any;
    /**
     * Specifies the duration of the transition for the entering and closing Animation. Defaults to `300ms`.
     */
    animationDuration?: number;
    /**
     * The CSS classes that will be rendered on the inner ActionSheet element.
     */
    className?: string;
    /**
     * The CSS classes that will be rendered on the DOM element that wraps the header section of the ActionSheet element.
     */
    headerClassName?: string;
    /**
     * The CSS classes that will be rendered on the DOM element that wraps the footer section of the ActionSheet element.
     */
    footerClassName?: string;
    /**
     * The CSS classes that will be rendered on the DOM element that wraps the content section of the ActionSheet element.
     */
    contentClassName?: string;
    /**
     * The custom Styles that will be applied on the DOM element that wraps the header section of the ActionSheet element.
     */
    headerStyle?: string;
    /**
     * Sets the header content of the ActionSheet either as string that is pointing to a slot template of as render function.
     */
    header?: string | Function;
    /**
     * Sets the content content of the ActionSheet either as string that is pointing to a slot template of as render function.
     */
    content?: string | Function;
    /**
     * Sets the footer content of the ActionSheet either as string that is pointing to a slot template of as render function.
     */
    footer?: string | Function;
    /**
     * Sets the item content of the ActionSheet either as string that is pointing to a slot template of as render function.
     */
    item?: string | Function;
    /**
     * Specifies the state of the ActionSheet.
     */
    expand?: boolean;
}
/**
 * @hidden
 */
declare const ActionSheet: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
    expand: PropType<boolean>;
    animation: {
        type: PropType<boolean>;
        default: boolean;
    };
    animationDuration: {
        type: PropType<number>;
        default: number;
    };
    animationStyles: PropType<any>;
    tabIndex: PropType<number>;
    items: PropType<ActionSheetItemProps[]>;
    subTitle: PropType<string>;
    title: PropType<string>;
    className: PropType<string>;
    headerClassName: {
        type: PropType<string>;
        default: any;
    };
    contentClassName: {
        type: PropType<string>;
        default: any;
    };
    headerStyle: {
        type: PropType<string>;
        default: any;
    };
    footerClassName: {
        type: PropType<string>;
        default: any;
    };
    header: PropType<string | Function>;
    content: PropType<string | Function>;
    footer: PropType<string | Function>;
    item: PropType<string | Function>;
    navigatable: {
        type: PropType<boolean>;
        default: boolean;
    };
    navigatableElements: {
        type: PropType<string[]>;
        default: () => any[];
    };
    actions: PropType<any>;
    onClose: PropType<(event: any) => void>;
}>, {}, {
    show: boolean;
    slide: boolean;
}, {
    topGroupItems(): Array<ActionSheetItemProps> | undefined;
    bottomGroupItems(): Array<ActionSheetItemProps> | undefined;
    shouldRenderSeparator(): boolean;
}, {
    handleKeyDown(e: any): void;
    onTab(target: HTMLElement, nav: Navigation, ev: any): void;
    handleOverlayClick(ev: any): void;
    handleItemClick(ev: {
        syntheticEvent: any;
        title?: string;
        item?: any;
    }): void;
    onEnter(target: HTMLElement, nav: Navigation, ev: any): void;
    onEscape(_target: HTMLElement, _nav: Navigation, ev: any): void;
    hideActionSheet(): void;
}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
    expand: PropType<boolean>;
    animation: {
        type: PropType<boolean>;
        default: boolean;
    };
    animationDuration: {
        type: PropType<number>;
        default: number;
    };
    animationStyles: PropType<any>;
    tabIndex: PropType<number>;
    items: PropType<ActionSheetItemProps[]>;
    subTitle: PropType<string>;
    title: PropType<string>;
    className: PropType<string>;
    headerClassName: {
        type: PropType<string>;
        default: any;
    };
    contentClassName: {
        type: PropType<string>;
        default: any;
    };
    headerStyle: {
        type: PropType<string>;
        default: any;
    };
    footerClassName: {
        type: PropType<string>;
        default: any;
    };
    header: PropType<string | Function>;
    content: PropType<string | Function>;
    footer: PropType<string | Function>;
    item: PropType<string | Function>;
    navigatable: {
        type: PropType<boolean>;
        default: boolean;
    };
    navigatableElements: {
        type: PropType<string[]>;
        default: () => any[];
    };
    actions: PropType<any>;
    onClose: PropType<(event: any) => void>;
}>> & Readonly<{}>, {
    animation: boolean;
    contentClassName: string;
    animationDuration: number;
    headerClassName: string;
    headerStyle: string;
    footerClassName: string;
    navigatable: boolean;
    navigatableElements: string[];
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
export { ActionSheet };
