import { z } from "zod";
import type { GrantSystemDocument, GrantSystemPHState } from "./types.js";
/** Schema for validating the header object of a GrantSystem document */
export declare const GrantSystemDocumentHeaderSchema: z.ZodObject<{
    id: z.ZodString;
    name: z.ZodString;
    createdAtUtcIso: z.ZodString;
    lastModifiedAtUtcIso: z.ZodString;
    documentType: z.ZodLiteral<"rfp-hub/grant-system">;
}, z.core.$strip>;
/** Schema for validating the state object of a GrantSystem document */
export declare const GrantSystemPHStateSchema: z.ZodObject<{
    global: z.ZodObject<Required<{
        code: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
        contactName: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
        coverImage: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
        description: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
        email: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
        extensions: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
        grantPoolsURI: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
        image: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
        name: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
        publisherWallet: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
        revocationReason: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
        revokedAt: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
        sameAs: z.ZodType<string[], unknown, z.core.$ZodTypeInternals<string[], unknown>>;
        socials: z.ZodType<import("./types.js").Social[], unknown, z.core.$ZodTypeInternals<import("./types.js").Social[], unknown>>;
        type: z.ZodType<import("./types.js").Maybe<import("./types.js").GrantSystemType>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<import("./types.js").GrantSystemType>, unknown>>;
        verificationMethod: z.ZodType<import("./types.js").Maybe<import("./types.js").VerificationMethod>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<import("./types.js").VerificationMethod>, unknown>>;
        verificationState: z.ZodType<import("./types.js").VerificationState, unknown, z.core.$ZodTypeInternals<import("./types.js").VerificationState, unknown>>;
        verifiedAt: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
        verifiedBy: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
    }>, z.core.$strip>;
}, z.core.$strip>;
export declare const GrantSystemDocumentSchema: z.ZodObject<{
    header: z.ZodObject<{
        id: z.ZodString;
        name: z.ZodString;
        createdAtUtcIso: z.ZodString;
        lastModifiedAtUtcIso: z.ZodString;
        documentType: z.ZodLiteral<"rfp-hub/grant-system">;
    }, z.core.$strip>;
    state: z.ZodObject<{
        global: z.ZodObject<Required<{
            code: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
            contactName: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
            coverImage: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
            description: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
            email: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
            extensions: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
            grantPoolsURI: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
            image: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
            name: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
            publisherWallet: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
            revocationReason: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
            revokedAt: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
            sameAs: z.ZodType<string[], unknown, z.core.$ZodTypeInternals<string[], unknown>>;
            socials: z.ZodType<import("./types.js").Social[], unknown, z.core.$ZodTypeInternals<import("./types.js").Social[], unknown>>;
            type: z.ZodType<import("./types.js").Maybe<import("./types.js").GrantSystemType>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<import("./types.js").GrantSystemType>, unknown>>;
            verificationMethod: z.ZodType<import("./types.js").Maybe<import("./types.js").VerificationMethod>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<import("./types.js").VerificationMethod>, unknown>>;
            verificationState: z.ZodType<import("./types.js").VerificationState, unknown, z.core.$ZodTypeInternals<import("./types.js").VerificationState, unknown>>;
            verifiedAt: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
            verifiedBy: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
        }>, z.core.$strip>;
    }, z.core.$strip>;
    initialState: z.ZodObject<{
        global: z.ZodObject<Required<{
            code: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
            contactName: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
            coverImage: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
            description: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
            email: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
            extensions: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
            grantPoolsURI: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
            image: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
            name: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
            publisherWallet: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
            revocationReason: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
            revokedAt: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
            sameAs: z.ZodType<string[], unknown, z.core.$ZodTypeInternals<string[], unknown>>;
            socials: z.ZodType<import("./types.js").Social[], unknown, z.core.$ZodTypeInternals<import("./types.js").Social[], unknown>>;
            type: z.ZodType<import("./types.js").Maybe<import("./types.js").GrantSystemType>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<import("./types.js").GrantSystemType>, unknown>>;
            verificationMethod: z.ZodType<import("./types.js").Maybe<import("./types.js").VerificationMethod>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<import("./types.js").VerificationMethod>, unknown>>;
            verificationState: z.ZodType<import("./types.js").VerificationState, unknown, z.core.$ZodTypeInternals<import("./types.js").VerificationState, unknown>>;
            verifiedAt: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
            verifiedBy: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
        }>, z.core.$strip>;
    }, z.core.$strip>;
}, z.core.$strip>;
/** Simple helper function to check if a state object is a GrantSystem document state object */
export declare function isGrantSystemState(state: unknown): state is GrantSystemPHState;
/** Simple helper function to assert that a document state object is a GrantSystem document state object */
export declare function assertIsGrantSystemState(state: unknown): asserts state is GrantSystemPHState;
/** Simple helper function to check if a document is a GrantSystem document */
export declare function isGrantSystemDocument(document: unknown): document is GrantSystemDocument;
/** Simple helper function to assert that a document is a GrantSystem document */
export declare function assertIsGrantSystemDocument(document: unknown): asserts document is GrantSystemDocument;
//# sourceMappingURL=document-schema.d.ts.map