import { z } from "zod";
export declare const ListQuerySchema: z.ZodObject<{
    domain: z.ZodString;
    page: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
    limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
    q: z.ZodOptional<z.ZodString>;
    parentId: z.ZodOptional<z.ZodString>;
    isActive: z.ZodPipe<z.ZodOptional<z.ZodString>, z.ZodTransform<boolean | undefined, string | undefined>>;
}, z.core.$strip>;
export type ListQuery = z.infer<typeof ListQuerySchema>;
export declare const DomainParamSchema: z.ZodObject<{
    domain: z.ZodString;
}, z.core.$strip>;
export declare const IdParamSchema: z.ZodObject<{
    domain: z.ZodString;
    id: z.ZodString;
}, z.core.$strip>;
export declare const CreateBodySchema: z.ZodObject<{
    name: z.ZodString;
    code: z.ZodOptional<z.ZodString>;
    description: z.ZodOptional<z.ZodString>;
    sortOrder: z.ZodOptional<z.ZodNumber>;
    isActive: z.ZodOptional<z.ZodBoolean>;
    metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
    effectiveFrom: z.ZodOptional<z.ZodString>;
    effectiveTo: z.ZodOptional<z.ZodString>;
    parentId: z.ZodOptional<z.ZodString>;
    ownerId: z.ZodOptional<z.ZodString>;
    groupId: z.ZodOptional<z.ZodString>;
    path: z.ZodOptional<z.ZodString>;
    depth: z.ZodOptional<z.ZodNumber>;
    areaType: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export type CreateBody = z.infer<typeof CreateBodySchema>;
export declare const UpdateBodySchema: z.ZodObject<{
    name: z.ZodOptional<z.ZodString>;
    code: z.ZodOptional<z.ZodOptional<z.ZodString>>;
    description: z.ZodOptional<z.ZodOptional<z.ZodString>>;
    sortOrder: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
    isActive: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
    metadata: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
    effectiveFrom: z.ZodOptional<z.ZodOptional<z.ZodString>>;
    effectiveTo: z.ZodOptional<z.ZodOptional<z.ZodString>>;
    parentId: z.ZodOptional<z.ZodOptional<z.ZodString>>;
    ownerId: z.ZodOptional<z.ZodOptional<z.ZodString>>;
    groupId: z.ZodOptional<z.ZodOptional<z.ZodString>>;
    path: z.ZodOptional<z.ZodOptional<z.ZodString>>;
    depth: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
    areaType: z.ZodOptional<z.ZodOptional<z.ZodString>>;
}, z.core.$strip>;
export type UpdateBody = z.infer<typeof UpdateBodySchema>;
/** Kept for backward compatibility with existing callers */
export interface MasterDataItem {
    code: string;
    label: string;
    parentCode: string | null;
    depth: number;
    isActive: boolean;
    sortOrder: number;
    payload: Record<string, unknown>;
}
export interface MasterDataResponse {
    meta: {
        domain: string;
        page: number;
        limit: number;
        total: number;
    };
    order: string[];
    items: Record<string, MasterDataItem>;
}
