import { z } from 'zod';
export interface PredicateAttestation {
    uuid: string;
    expiration: number;
    attester: string;
    signature: string;
}
export interface PredicateAttestationResponse {
    policy_id: string;
    policy_name: string;
    verification_hash: string;
    is_compliant: boolean;
    attestation: PredicateAttestation;
}
export interface PredicateAttestationRequest {
    to: string;
    from: string;
    data: string;
    msg_value: string;
    chain: string;
}
export declare const PredicateAttestationSchema: z.ZodObject<{
    uuid: z.ZodString;
    expiration: z.ZodNumber;
    attester: z.ZodString;
    signature: z.ZodString;
}, "strip", z.ZodTypeAny, {
    signature: string;
    expiration: number;
    uuid: string;
    attester: string;
}, {
    signature: string;
    expiration: number;
    uuid: string;
    attester: string;
}>;
export declare class PredicateApiClient {
    private readonly logger;
    private readonly baseUrl;
    private readonly apiKey;
    constructor(apiKey: string, baseUrl?: string);
    fetchAttestation(request: PredicateAttestationRequest): Promise<PredicateAttestationResponse>;
}
//# sourceMappingURL=PredicateApiClient.d.ts.map