import { PropType } from "vue";
declare const SIZE: readonly ["small", "medium", "large"];
declare const TYPE: readonly ["filled", "transparent", "bottom-border", "filled-radius"];
declare const STATE: readonly ["default", "primary", "secondary", "success", "error", "warning"];
declare const STATE_TYPE: readonly ["gradient", "solid"];
declare const ALIGN_ITEMS: readonly ["center", "start", "end"];
declare const BORDER_TYPE: readonly ["solid", "dotted", "dashed", "double", "groove", "ridge", "inset", "outset"];
export type SlabSize = typeof SIZE[number];
export type SlabType = typeof TYPE[number];
export type SlabState = typeof STATE[number];
export type SlabStateType = typeof STATE_TYPE[number];
export type SlabAlignItems = typeof ALIGN_ITEMS[number];
export type SlabBorderType = typeof BORDER_TYPE[number];
/**
 * Slab is a reusable component, essentially a combination of action icons and the title, that can be used at multiple places
 * like slide out header, menu item.
 */
declare const _default: import("vue/types/v3-define-component").DefineComponent<{
    /**
     * 'small' | 'medium' | 'large'
     */
    size: {
        type: PropType<"small" | "large" | "medium">;
        default: string;
        validator(value: SlabSize): boolean;
    };
    /**
     * 'filled' | 'transparent' | 'bottom-border' | 'filled-radius'
     */
    type: {
        type: PropType<"filled" | "transparent" | "bottom-border" | "filled-radius">;
        default: string;
        validator(value: SlabType): boolean;
    };
    /**
     * true | false
     */
    disabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * true | false
     */
    selected: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     *  'default' | 'primary' | 'secondary' | 'success' | 'error' | 'warning'
     */
    state: {
        type: PropType<"default" | "success" | "error" | "warning" | "primary" | "secondary">;
        default: string;
        validator(value: SlabState): boolean;
    };
    /**
     * 'gradient' | 'solid'
     */
    stateType: {
        type: PropType<"solid" | "gradient">;
        default: string;
        validator(value: SlabStateType): boolean;
    };
    /**
     * 'start' | 'center' | 'end'
     */
    alignItems: {
        type: PropType<"start" | "center" | "end">;
        default: string;
        validator(value: SlabAlignItems): boolean;
    };
    /**
     * true | false
     */
    effects: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * true | false
     */
    noPadding: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * 	'solid' | 'dotted' | 'dashed' | 'double' | 'groove' | 'ridge' | 'inset' | 'outset'
     */
    borderType: {
        type: PropType<"inset" | "dashed" | "dotted" | "double" | "groove" | "outset" | "ridge" | "solid">;
        default: string;
        validator(value: SlabBorderType): boolean;
    };
    /**
     * How content overflow should work? <>br/
     * 'hidden' | 'visible'
     */
    overflow: {
        type: PropType<"hidden" | "visible">;
        default: string;
    };
    /**
     * QA attribute
     */
    dataQaField: {
        type: StringConstructor;
        default: null;
    };
}, import("vue").Data, import("vue").Data, {}, {
    handleClick(e: MouseEvent): void;
}, import("vue/types/v3-component-options").ComponentOptionsMixin, import("vue/types/v3-component-options").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{
    /**
     * 'small' | 'medium' | 'large'
     */
    size: {
        type: PropType<"small" | "large" | "medium">;
        default: string;
        validator(value: SlabSize): boolean;
    };
    /**
     * 'filled' | 'transparent' | 'bottom-border' | 'filled-radius'
     */
    type: {
        type: PropType<"filled" | "transparent" | "bottom-border" | "filled-radius">;
        default: string;
        validator(value: SlabType): boolean;
    };
    /**
     * true | false
     */
    disabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * true | false
     */
    selected: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     *  'default' | 'primary' | 'secondary' | 'success' | 'error' | 'warning'
     */
    state: {
        type: PropType<"default" | "success" | "error" | "warning" | "primary" | "secondary">;
        default: string;
        validator(value: SlabState): boolean;
    };
    /**
     * 'gradient' | 'solid'
     */
    stateType: {
        type: PropType<"solid" | "gradient">;
        default: string;
        validator(value: SlabStateType): boolean;
    };
    /**
     * 'start' | 'center' | 'end'
     */
    alignItems: {
        type: PropType<"start" | "center" | "end">;
        default: string;
        validator(value: SlabAlignItems): boolean;
    };
    /**
     * true | false
     */
    effects: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * true | false
     */
    noPadding: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * 	'solid' | 'dotted' | 'dashed' | 'double' | 'groove' | 'ridge' | 'inset' | 'outset'
     */
    borderType: {
        type: PropType<"inset" | "dashed" | "dotted" | "double" | "groove" | "outset" | "ridge" | "solid">;
        default: string;
        validator(value: SlabBorderType): boolean;
    };
    /**
     * How content overflow should work? <>br/
     * 'hidden' | 'visible'
     */
    overflow: {
        type: PropType<"hidden" | "visible">;
        default: string;
    };
    /**
     * QA attribute
     */
    dataQaField: {
        type: StringConstructor;
        default: null;
    };
}>>, {
    type: "filled" | "transparent" | "bottom-border" | "filled-radius";
    state: "default" | "success" | "error" | "warning" | "primary" | "secondary";
    size: "small" | "large" | "medium";
    effects: boolean;
    overflow: "hidden" | "visible";
    alignItems: "start" | "center" | "end";
    disabled: boolean;
    selected: boolean;
    stateType: "solid" | "gradient";
    noPadding: boolean;
    borderType: "inset" | "dashed" | "dotted" | "double" | "groove" | "outset" | "ridge" | "solid";
    dataQaField: string;
}>;
export default _default;
