import { z } from 'zod';
export declare const DbContractValidator: z.ZodObject<{
    id: z.ZodString;
    name: z.ZodString;
    subtitle: z.ZodOptional<z.ZodString>;
    description: z.ZodOptional<z.ZodString>;
    reasonForAccessing: z.ZodOptional<z.ZodString>;
    needsGuardianConsent: z.ZodOptional<z.ZodBoolean>;
    redirectUrl: z.ZodOptional<z.ZodString>;
    frontDoorBoostUri: z.ZodOptional<z.ZodString>;
    image: z.ZodOptional<z.ZodString>;
    contract: z.ZodObject<{
        read: z.ZodPrefault<z.ZodObject<{
            anonymize: z.ZodOptional<z.ZodBoolean>;
            credentials: z.ZodPrefault<z.ZodObject<{
                categories: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
                    required: z.ZodBoolean;
                    defaultEnabled: z.ZodOptional<z.ZodBoolean>;
                }, z.core.$strip>>>;
            }, z.core.$strip>>;
            personal: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
                required: z.ZodBoolean;
                defaultEnabled: z.ZodOptional<z.ZodBoolean>;
            }, z.core.$strip>>>;
        }, z.core.$strip>>;
        write: z.ZodPrefault<z.ZodObject<{
            credentials: z.ZodPrefault<z.ZodObject<{
                categories: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
                    required: z.ZodBoolean;
                    defaultEnabled: z.ZodOptional<z.ZodBoolean>;
                }, z.core.$strip>>>;
            }, z.core.$strip>>;
            personal: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
                required: z.ZodBoolean;
                defaultEnabled: z.ZodOptional<z.ZodBoolean>;
            }, z.core.$strip>>>;
        }, z.core.$strip>>;
    }, z.core.$strip>;
    createdAt: z.ZodString;
    updatedAt: z.ZodString;
    expiresAt: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export type DbContractType = z.infer<typeof DbContractValidator>;
export type FlatDbContractType = DbContractType & {
    contract: any;
};
export declare const DbTransactionValidator: z.ZodObject<{
    id: z.ZodString;
    action: z.ZodEnum<{
        write: "write";
        consent: "consent";
        update: "update";
        sync: "sync";
        withdraw: "withdraw";
    }>;
    terms: z.ZodObject<{
        read: z.ZodPrefault<z.ZodObject<{
            anonymize: z.ZodOptional<z.ZodBoolean>;
            credentials: z.ZodPrefault<z.ZodObject<{
                shareAll: z.ZodOptional<z.ZodBoolean>;
                sharing: z.ZodOptional<z.ZodBoolean>;
                categories: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
                    sharing: z.ZodOptional<z.ZodBoolean>;
                    shared: z.ZodOptional<z.ZodArray<z.ZodString>>;
                    shareAll: z.ZodOptional<z.ZodBoolean>;
                    shareUntil: z.ZodOptional<z.ZodString>;
                }, z.core.$strip>>>;
            }, z.core.$strip>>;
            personal: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
        }, z.core.$strip>>;
        write: z.ZodPrefault<z.ZodObject<{
            credentials: z.ZodPrefault<z.ZodObject<{
                categories: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
            }, z.core.$strip>>;
            personal: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
        }, z.core.$strip>>;
        deniedWriters: z.ZodOptional<z.ZodArray<z.ZodString>>;
    }, z.core.$strip>;
    date: z.ZodString;
    expiresAt: z.ZodOptional<z.ZodString>;
    oneTime: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strip>;
export type DbTransactionType = z.infer<typeof DbTransactionValidator>;
export type FlatDbTransactionType = DbTransactionType & {
    terms: any;
};
export declare const DbTermsValidator: z.ZodObject<{
    id: z.ZodString;
    status: z.ZodEnum<{
        live: "live";
        stale: "stale";
        withdrawn: "withdrawn";
    }>;
    terms: z.ZodObject<{
        read: z.ZodPrefault<z.ZodObject<{
            anonymize: z.ZodOptional<z.ZodBoolean>;
            credentials: z.ZodPrefault<z.ZodObject<{
                shareAll: z.ZodOptional<z.ZodBoolean>;
                sharing: z.ZodOptional<z.ZodBoolean>;
                categories: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
                    sharing: z.ZodOptional<z.ZodBoolean>;
                    shared: z.ZodOptional<z.ZodArray<z.ZodString>>;
                    shareAll: z.ZodOptional<z.ZodBoolean>;
                    shareUntil: z.ZodOptional<z.ZodString>;
                }, z.core.$strip>>>;
            }, z.core.$strip>>;
            personal: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
        }, z.core.$strip>>;
        write: z.ZodPrefault<z.ZodObject<{
            credentials: z.ZodPrefault<z.ZodObject<{
                categories: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
            }, z.core.$strip>>;
            personal: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
        }, z.core.$strip>>;
        deniedWriters: z.ZodOptional<z.ZodArray<z.ZodString>>;
    }, z.core.$strip>;
    createdAt: z.ZodOptional<z.ZodString>;
    updatedAt: z.ZodOptional<z.ZodString>;
    expiresAt: z.ZodOptional<z.ZodString>;
    oneTime: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strip>;
export type DbTermsType = z.infer<typeof DbTermsValidator>;
export type FlatDbTermsType = DbTermsType & {
    terms: any;
};
//# sourceMappingURL=consentflowcontract.d.ts.map