import type { VNode } from 'vue';
export declare const MaTabsTypes: readonly ["rounded", "rounded-dark", "line"];
export declare const MaTabsSizes: readonly ["small", "medium"];
export declare const MaTabPanePlacements: readonly ["left", "right"];
export type MaTabsType = (typeof MaTabsTypes)[number];
export type MaTabsSize = (typeof MaTabsSizes)[number];
export type MaTabPanePlacement = (typeof MaTabPanePlacements)[number];
export interface MaTabsProps {
    /**
     * Basic style of tabs
     */
    type?: MaTabsType;
    /**
     * Current Tab's key
     */
    activeKey: string;
    /**
     * Preset tab button size
     */
    size?: MaTabsSize;
    /**
     * The status of the left and right buttons of the content scroller being always visible
     * @default false
     */
    alwaysShowScrollerButtons?: boolean;
}
export interface MaTabPaneProps {
    /**
     * TabPane's key
     */
    tabKey?: string;
    /**
     * title of the tab button
     */
    title?: string;
    /**
     * badge text of the tab button
     */
    badgeText?: string;
    /**
     * app icon of the tab button
     */
    appIcon?: string;
    /**
     * regular icon of the tab
     */
    icon?: string;
    /**
     * Disabled a tab.
     */
    disabled?: boolean;
    /**
     * regular icon placement
     */
    iconPlacement?: string;
}
export interface MaTabButtonProps extends MaTabPaneProps {
    /**
     * Preset tab button size
     */
    size?: MaTabsSize;
    /**
     * active state
     */
    isActive?: boolean;
    /**
     * Basic style of tabs
     */
    type?: MaTabsType;
}
export interface ChildTabComponent {
    props: MaTabPaneProps;
    slots: {
        [name: string]: (() => VNode[]) | undefined;
    };
}
