import { OfferFieldsFragment } from "../subgraph";
export type CheckExchangePolicyResult = {
    isValid: boolean;
    errors: {
        message: string;
        path: string;
        value: unknown;
    }[];
};
export type YupPropertyDef = {
    title?: string;
    description?: string;
    type: string;
    properties?: {
        [key: string]: YupPropertyDef;
    };
    required?: boolean;
    min?: string | number;
    max?: string | number;
    flags?: string;
    pattern?: string;
    matches?: string;
};
export type CheckExchangePolicyRules = {
    yupSchema: {
        $schema?: string;
        $id?: string;
        title?: string;
        description?: string;
        type: string;
        metadataType?: string;
        properties: {
            [key: string]: YupPropertyDef;
        };
    };
    yupConfig: {
        errMessages?: {
            [key: string]: {
                required?: string;
                min?: string;
                max?: string;
                flags?: string;
                pattern?: string;
                matches?: string;
            };
        };
    };
    yupSchemas?: {
        $schema?: string;
        $id?: string;
        title?: string;
        description?: string;
        type: string;
        metadataType: string;
        properties: {
            [key: string]: YupPropertyDef;
        };
    }[];
};
export declare function checkExchangePolicy(offerData: OfferFieldsFragment, rules: CheckExchangePolicyRules): CheckExchangePolicyResult;
//# sourceMappingURL=checkExchangePolicy.d.ts.map