import { ReactNode } from 'react';
import { z } from 'zod';
import { RenderProp as BaseRenderProp } from '../component/renderProp';
import { Icon } from '../icon';
export declare const specZ: z.ZodObject<{
    tabKey: z.ZodString;
    name: z.ZodString;
    closable: z.ZodOptional<z.ZodBoolean>;
    icon: z.ZodOptional<z.ZodUnknown>;
    editable: z.ZodOptional<z.ZodBoolean>;
    visible: z.ZodOptional<z.ZodBoolean>;
    unsavedChanges: z.ZodOptional<z.ZodBoolean>;
    loading: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strip>;
export interface Spec extends Omit<z.infer<typeof specZ>, "icon"> {
    icon?: Icon.ReactElement | string | unknown;
}
export declare const tabZ: z.ZodObject<{
    tabKey: z.ZodString;
    name: z.ZodString;
    closable: z.ZodOptional<z.ZodBoolean>;
    icon: z.ZodOptional<z.ZodUnknown>;
    editable: z.ZodOptional<z.ZodBoolean>;
    visible: z.ZodOptional<z.ZodBoolean>;
    unsavedChanges: z.ZodOptional<z.ZodBoolean>;
    loading: z.ZodOptional<z.ZodBoolean>;
    content: z.ZodOptional<z.ZodUnknown>;
}, z.core.$strip>;
export interface Tab extends Spec {
    content?: ReactNode | unknown;
}
export type RenderProp = BaseRenderProp<Tab>;
//# sourceMappingURL=types.d.ts.map