import { z } from 'zod';
/**
 * HIP-412 file schema for multi-file NFTs
 */
export declare const hip412FileSchema: z.ZodObject<{
    uri: z.ZodString;
    checksum: z.ZodOptional<z.ZodString>;
    is_default_file: z.ZodOptional<z.ZodBoolean>;
    type: z.ZodString;
}, "strip", z.ZodTypeAny, {
    type: string;
    uri: string;
    checksum?: string | undefined;
    is_default_file?: boolean | undefined;
}, {
    type: string;
    uri: string;
    checksum?: string | undefined;
    is_default_file?: boolean | undefined;
}>;
/**
 * HIP-412 attribute schema for NFT traits
 */
export declare const hip412AttributeSchema: z.ZodObject<{
    trait_type: z.ZodString;
    value: z.ZodUnion<[z.ZodString, z.ZodNumber]>;
    display_type: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    value: string | number;
    trait_type: string;
    display_type?: string | undefined;
}, {
    value: string | number;
    trait_type: string;
    display_type?: string | undefined;
}>;
/**
 * HIP-412 compliant metadata schema for Hedera NFTs
 */
export declare const hip412MetadataSchema: z.ZodObject<{
    name: z.ZodString;
    description: z.ZodString;
    image: z.ZodString;
    type: z.ZodString;
    creator: z.ZodOptional<z.ZodString>;
    creatorDID: z.ZodOptional<z.ZodString>;
    checksum: z.ZodOptional<z.ZodString>;
    format: z.ZodDefault<z.ZodOptional<z.ZodString>>;
    files: z.ZodOptional<z.ZodArray<z.ZodObject<{
        uri: z.ZodString;
        checksum: z.ZodOptional<z.ZodString>;
        is_default_file: z.ZodOptional<z.ZodBoolean>;
        type: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        type: string;
        uri: string;
        checksum?: string | undefined;
        is_default_file?: boolean | undefined;
    }, {
        type: string;
        uri: string;
        checksum?: string | undefined;
        is_default_file?: boolean | undefined;
    }>, "many">>;
    attributes: z.ZodOptional<z.ZodArray<z.ZodObject<{
        trait_type: z.ZodString;
        value: z.ZodUnion<[z.ZodString, z.ZodNumber]>;
        display_type: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        value: string | number;
        trait_type: string;
        display_type?: string | undefined;
    }, {
        value: string | number;
        trait_type: string;
        display_type?: string | undefined;
    }>, "many">>;
    properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
}, "strip", z.ZodTypeAny, {
    name: string;
    type: string;
    image: string;
    description: string;
    format: string;
    creator?: string | undefined;
    properties?: Record<string, unknown> | undefined;
    checksum?: string | undefined;
    creatorDID?: string | undefined;
    files?: {
        type: string;
        uri: string;
        checksum?: string | undefined;
        is_default_file?: boolean | undefined;
    }[] | undefined;
    attributes?: {
        value: string | number;
        trait_type: string;
        display_type?: string | undefined;
    }[] | undefined;
}, {
    name: string;
    type: string;
    image: string;
    description: string;
    creator?: string | undefined;
    properties?: Record<string, unknown> | undefined;
    checksum?: string | undefined;
    creatorDID?: string | undefined;
    format?: string | undefined;
    files?: {
        type: string;
        uri: string;
        checksum?: string | undefined;
        is_default_file?: boolean | undefined;
    }[] | undefined;
    attributes?: {
        value: string | number;
        trait_type: string;
        display_type?: string | undefined;
    }[] | undefined;
}>;
/**
 * Validates metadata against HIP-412 standard
 */
export declare function validateHIP412Metadata(metadata: unknown): z.infer<typeof hip412MetadataSchema>;
