import { z } from 'zod';
import { MeasureFormatsEnum, MeasureTypesEnum } from '../type-enums';
import { MetaInterface } from './meta.interface';
export declare const MeasureSchema: z.ZodObject<{
    name: z.ZodString;
    description: z.ZodOptional<z.ZodString>;
    type: z.ZodEnum<typeof MeasureTypesEnum>;
    format: z.ZodOptional<z.ZodEnum<typeof MeasureFormatsEnum>>;
    index: z.ZodOptional<z.ZodString>;
    upperIndex: z.ZodOptional<z.ZodString>;
    sql: z.ZodOptional<z.ZodString>;
    dimension: z.ZodOptional<z.ZodString>;
    public: z.ZodOptional<z.ZodBoolean>;
    override: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodLiteral<"custom">]>>;
    meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>>, z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
}, z.core.$strip>;
export interface MeasureInterface {
    name: string;
    description?: string;
    type: MeasureTypesEnum;
    format?: MeasureFormatsEnum;
    index?: string;
    upperIndex?: string;
    sql?: string;
    dimension?: string;
    public?: boolean;
    override?: boolean | 'custom';
    meta?: MetaInterface;
}
