import type { TagProps } from '../tag';
import type { ThemeProps } from '../theme';
import type { VariantProps } from '../variant';
import type { PositionProps } from '../position';
import type { DimensionProps } from '../dimension';
import type { SizeProps } from '../size';
import type { DensityProps } from '../density';
import type { BorderProps } from '../border';
import type { ShapeProps } from '../shape';
import type { ElevationProps } from '../elevation';
import type { MaybeRef } from '@veno-ui/utils';
export interface PaperProps extends TagProps, ThemeProps, VariantProps, PositionProps, DimensionProps, SizeProps, DensityProps, BorderProps, ShapeProps, ElevationProps {
}
export { genOverlays } from '../variant';
export declare const makePaperProps: <Defaults extends {
    elevation?: unknown;
    shape?: unknown;
    border?: unknown;
    density?: unknown;
    size?: unknown;
    height?: unknown;
    maxHeight?: unknown;
    maxWidth?: unknown;
    minHeight?: unknown;
    minWidth?: unknown;
    width?: unknown;
    absolute?: unknown;
    bottom?: unknown;
    fixed?: unknown;
    left?: unknown;
    position?: unknown;
    right?: unknown;
    top?: unknown;
    color?: unknown;
    textColor?: unknown;
    variant?: unknown;
    theme?: unknown;
    tag?: unknown;
} = {}>(defaults?: Defaults | undefined) => {
    elevation: unknown extends Defaults["elevation"] ? {
        type: (StringConstructor | NumberConstructor)[];
        validator(v: any): boolean;
    } : Omit<{
        type: (StringConstructor | NumberConstructor)[];
        validator(v: any): boolean;
    }, "type" | "default"> & {
        type: import("vue").PropType<unknown extends Defaults["elevation"] ? string | number : NonNullable<string | number> | Defaults["elevation"]>;
        default: unknown extends Defaults["elevation"] ? string | number : NonNullable<string | number> | Defaults["elevation"];
    };
    shape: unknown extends Defaults["shape"] ? {
        type: import("vue").PropType<"circle" | "tile" | "rounded-sm" | "rounded" | "rounded-lg" | "pill">;
        default: string;
    } : Omit<{
        type: import("vue").PropType<"circle" | "tile" | "rounded-sm" | "rounded" | "rounded-lg" | "pill">;
        default: string;
    }, "type" | "default"> & {
        type: import("vue").PropType<unknown extends Defaults["shape"] ? "circle" | "tile" | "rounded-sm" | "rounded" | "rounded-lg" | "pill" : NonNullable<"circle" | "tile" | "rounded-sm" | "rounded" | "rounded-lg" | "pill"> | Defaults["shape"]>;
        default: unknown extends Defaults["shape"] ? "circle" | "tile" | "rounded-sm" | "rounded" | "rounded-lg" | "pill" : NonNullable<"circle" | "tile" | "rounded-sm" | "rounded" | "rounded-lg" | "pill"> | Defaults["shape"];
    };
    border: unknown extends Defaults["border"] ? (StringConstructor | BooleanConstructor | NumberConstructor)[] : {
        type: import("vue").PropType<unknown extends Defaults["border"] ? string | number | boolean : NonNullable<string | number | boolean> | Defaults["border"]>;
        default: unknown extends Defaults["border"] ? string | number | boolean : NonNullable<string | number | boolean> | Defaults["border"];
    };
    density: unknown extends Defaults["density"] ? {
        type: import("vue").PropType<"high" | "low" | "medium" | "ultra-low" | "ultra-high" | undefined>;
        default: string;
        validator: (v: any) => boolean;
    } : Omit<{
        type: import("vue").PropType<"high" | "low" | "medium" | "ultra-low" | "ultra-high" | undefined>;
        default: string;
        validator: (v: any) => boolean;
    }, "type" | "default"> & {
        type: import("vue").PropType<unknown extends Defaults["density"] ? "high" | "low" | "medium" | "ultra-low" | "ultra-high" | undefined : NonNullable<"high" | "low" | "medium" | "ultra-low" | "ultra-high" | undefined> | Defaults["density"]>;
        default: unknown extends Defaults["density"] ? "high" | "low" | "medium" | "ultra-low" | "ultra-high" | undefined : NonNullable<"high" | "low" | "medium" | "ultra-low" | "ultra-high" | undefined> | Defaults["density"];
    };
    size: unknown extends Defaults["size"] ? {
        type: import("vue").PropType<import("../size").Size | undefined>;
        default: string;
    } : Omit<{
        type: import("vue").PropType<import("../size").Size | undefined>;
        default: string;
    }, "type" | "default"> & {
        type: import("vue").PropType<unknown extends Defaults["size"] ? import("../size").Size | undefined : NonNullable<import("../size").Size | undefined> | Defaults["size"]>;
        default: unknown extends Defaults["size"] ? import("../size").Size | undefined : NonNullable<import("../size").Size | undefined> | Defaults["size"];
    };
    height: unknown extends Defaults["height"] ? (StringConstructor | NumberConstructor)[] : {
        type: import("vue").PropType<unknown extends Defaults["height"] ? string | number : NonNullable<string | number> | Defaults["height"]>;
        default: unknown extends Defaults["height"] ? string | number : NonNullable<string | number> | Defaults["height"];
    };
    maxHeight: unknown extends Defaults["maxHeight"] ? (StringConstructor | NumberConstructor)[] : {
        type: import("vue").PropType<unknown extends Defaults["maxHeight"] ? string | number : NonNullable<string | number> | Defaults["maxHeight"]>;
        default: unknown extends Defaults["maxHeight"] ? string | number : NonNullable<string | number> | Defaults["maxHeight"];
    };
    maxWidth: unknown extends Defaults["maxWidth"] ? (StringConstructor | NumberConstructor)[] : {
        type: import("vue").PropType<unknown extends Defaults["maxWidth"] ? string | number : NonNullable<string | number> | Defaults["maxWidth"]>;
        default: unknown extends Defaults["maxWidth"] ? string | number : NonNullable<string | number> | Defaults["maxWidth"];
    };
    minHeight: unknown extends Defaults["minHeight"] ? (StringConstructor | NumberConstructor)[] : {
        type: import("vue").PropType<unknown extends Defaults["minHeight"] ? string | number : NonNullable<string | number> | Defaults["minHeight"]>;
        default: unknown extends Defaults["minHeight"] ? string | number : NonNullable<string | number> | Defaults["minHeight"];
    };
    minWidth: unknown extends Defaults["minWidth"] ? (StringConstructor | NumberConstructor)[] : {
        type: import("vue").PropType<unknown extends Defaults["minWidth"] ? string | number : NonNullable<string | number> | Defaults["minWidth"]>;
        default: unknown extends Defaults["minWidth"] ? string | number : NonNullable<string | number> | Defaults["minWidth"];
    };
    width: unknown extends Defaults["width"] ? (StringConstructor | NumberConstructor)[] : {
        type: import("vue").PropType<unknown extends Defaults["width"] ? string | number : NonNullable<string | number> | Defaults["width"]>;
        default: unknown extends Defaults["width"] ? string | number : NonNullable<string | number> | Defaults["width"];
    };
    absolute: unknown extends Defaults["absolute"] ? BooleanConstructor : {
        type: import("vue").PropType<unknown extends Defaults["absolute"] ? boolean : boolean | Defaults["absolute"]>;
        default: unknown extends Defaults["absolute"] ? boolean : boolean | Defaults["absolute"];
    };
    bottom: unknown extends Defaults["bottom"] ? (StringConstructor | BooleanConstructor | NumberConstructor)[] : {
        type: import("vue").PropType<unknown extends Defaults["bottom"] ? string | number | boolean : NonNullable<string | number | boolean> | Defaults["bottom"]>;
        default: unknown extends Defaults["bottom"] ? string | number | boolean : NonNullable<string | number | boolean> | Defaults["bottom"];
    };
    fixed: unknown extends Defaults["fixed"] ? BooleanConstructor : {
        type: import("vue").PropType<unknown extends Defaults["fixed"] ? boolean : boolean | Defaults["fixed"]>;
        default: unknown extends Defaults["fixed"] ? boolean : boolean | Defaults["fixed"];
    };
    left: unknown extends Defaults["left"] ? (StringConstructor | BooleanConstructor | NumberConstructor)[] : {
        type: import("vue").PropType<unknown extends Defaults["left"] ? string | number | boolean : NonNullable<string | number | boolean> | Defaults["left"]>;
        default: unknown extends Defaults["left"] ? string | number | boolean : NonNullable<string | number | boolean> | Defaults["left"];
    };
    position: unknown extends Defaults["position"] ? {
        type: import("vue").PropType<"fixed" | "static" | "relative" | "absolute" | "sticky">;
        validator: (v: any) => boolean;
    } : Omit<{
        type: import("vue").PropType<"fixed" | "static" | "relative" | "absolute" | "sticky">;
        validator: (v: any) => boolean;
    }, "type" | "default"> & {
        type: import("vue").PropType<unknown extends Defaults["position"] ? "fixed" | "static" | "relative" | "absolute" | "sticky" : NonNullable<"fixed" | "static" | "relative" | "absolute" | "sticky"> | Defaults["position"]>;
        default: unknown extends Defaults["position"] ? "fixed" | "static" | "relative" | "absolute" | "sticky" : NonNullable<"fixed" | "static" | "relative" | "absolute" | "sticky"> | Defaults["position"];
    };
    right: unknown extends Defaults["right"] ? (StringConstructor | BooleanConstructor | NumberConstructor)[] : {
        type: import("vue").PropType<unknown extends Defaults["right"] ? string | number | boolean : NonNullable<string | number | boolean> | Defaults["right"]>;
        default: unknown extends Defaults["right"] ? string | number | boolean : NonNullable<string | number | boolean> | Defaults["right"];
    };
    top: unknown extends Defaults["top"] ? (StringConstructor | BooleanConstructor | NumberConstructor)[] : {
        type: import("vue").PropType<unknown extends Defaults["top"] ? string | number | boolean : NonNullable<string | number | boolean> | Defaults["top"]>;
        default: unknown extends Defaults["top"] ? string | number | boolean : NonNullable<string | number | boolean> | Defaults["top"];
    };
    color: unknown extends Defaults["color"] ? StringConstructor : {
        type: import("vue").PropType<unknown extends Defaults["color"] ? string : string | Defaults["color"]>;
        default: unknown extends Defaults["color"] ? string : string | Defaults["color"];
    };
    textColor: unknown extends Defaults["textColor"] ? StringConstructor : {
        type: import("vue").PropType<unknown extends Defaults["textColor"] ? string : string | Defaults["textColor"]>;
        default: unknown extends Defaults["textColor"] ? string : string | Defaults["textColor"];
    };
    variant: unknown extends Defaults["variant"] ? {
        type: import("vue").PropType<"contained" | "outlined" | "plain" | "text" | "contained-text" | "contained-outlined">;
        default: string;
        validator: (v: any) => boolean;
    } : Omit<{
        type: import("vue").PropType<"contained" | "outlined" | "plain" | "text" | "contained-text" | "contained-outlined">;
        default: string;
        validator: (v: any) => boolean;
    }, "type" | "default"> & {
        type: import("vue").PropType<unknown extends Defaults["variant"] ? "contained" | "outlined" | "plain" | "text" | "contained-text" | "contained-outlined" : NonNullable<"contained" | "outlined" | "plain" | "text" | "contained-text" | "contained-outlined"> | Defaults["variant"]>;
        default: unknown extends Defaults["variant"] ? "contained" | "outlined" | "plain" | "text" | "contained-text" | "contained-outlined" : NonNullable<"contained" | "outlined" | "plain" | "text" | "contained-text" | "contained-outlined"> | Defaults["variant"];
    };
    theme: unknown extends Defaults["theme"] ? StringConstructor : {
        type: import("vue").PropType<unknown extends Defaults["theme"] ? string : string | Defaults["theme"]>;
        default: unknown extends Defaults["theme"] ? string : string | Defaults["theme"];
    };
    tag: unknown extends Defaults["tag"] ? {
        type: StringConstructor;
        default: string;
    } : Omit<{
        type: StringConstructor;
        default: string;
    }, "type" | "default"> & {
        type: import("vue").PropType<unknown extends Defaults["tag"] ? string : string | Defaults["tag"]>;
        default: unknown extends Defaults["tag"] ? string : string | Defaults["tag"];
    };
};
export declare function usePaper(props: MaybeRef<PaperProps>, name?: string): {
    paperClasses: import("vue").ComputedRef<(string | string[] | null | undefined)[]>;
    paperStyles: import("vue").ComputedRef<(import("vue").CSSProperties | Partial<Record<"bottom" | "left" | "right" | "top", string>> | {
        width?: undefined;
        height?: undefined;
    } | {
        width: string | undefined;
        height: string | undefined;
    })[]>;
};
