import { z } from "zod";
import type { GrantPoolDocument, GrantPoolPHState } from "./types.js";
/** Schema for validating the header object of a GrantPool document */
export declare const GrantPoolDocumentHeaderSchema: z.ZodObject<{
    id: z.ZodString;
    name: z.ZodString;
    createdAtUtcIso: z.ZodString;
    lastModifiedAtUtcIso: z.ZodString;
    documentType: z.ZodLiteral<"rfp-hub/grant-pool">;
}, z.core.$strip>;
/** Schema for validating the state object of a GrantPool document */
export declare const GrantPoolPHStateSchema: z.ZodObject<{
    global: z.ZodObject<Required<{
        applicationsURI: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
        attestationIssuersURI: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
        briefingURI: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
        categories: z.ZodType<string[], unknown, z.core.$ZodTypeInternals<string[], unknown>>;
        claimedFromEntry: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
        closeDate: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
        code: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
        contextDocuments: z.ZodType<import("./types.js").ContextDocument[], unknown, z.core.$ZodTypeInternals<import("./types.js").ContextDocument[], 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>>;
        duplicateOf: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
        ecosystems: z.ZodType<string[], unknown, z.core.$ZodTypeInternals<string[], unknown>>;
        eligibilityCriteria: 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>>;
        evaluationCriteria: 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>>;
        governanceState: z.ZodType<import("./types.js").PoolGovernanceState, unknown, z.core.$ZodTypeInternals<import("./types.js").PoolGovernanceState, unknown>>;
        governanceURI: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
        grantFundingMechanism: z.ZodType<import("./types.js").Maybe<import("./types.js").FundingMechanism>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<import("./types.js").FundingMechanism>, unknown>>;
        grantSystemRef: 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>>;
        isOpen: z.ZodType<boolean, unknown, z.core.$ZodTypeInternals<boolean, unknown>>;
        lastVerifiedAt: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
        lifecycle: z.ZodType<import("./types.js").GrantPoolLifecycle, unknown, z.core.$ZodTypeInternals<import("./types.js").GrantPoolLifecycle, unknown>>;
        maxGrant: z.ZodType<import("./types.js").FundingAmount[], unknown, z.core.$ZodTypeInternals<import("./types.js").FundingAmount[], unknown>>;
        minGrant: z.ZodType<import("./types.js").FundingAmount[], unknown, z.core.$ZodTypeInternals<import("./types.js").FundingAmount[], unknown>>;
        name: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
        openDate: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
        publisher: z.ZodType<import("./types.js").Maybe<import("./types.js").Publisher>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<import("./types.js").Publisher>, unknown>>;
        requiredCredentials: z.ZodType<string[], unknown, z.core.$ZodTypeInternals<string[], unknown>>;
        reviewers: z.ZodType<import("./types.js").Reviewer[], unknown, z.core.$ZodTypeInternals<import("./types.js").Reviewer[], unknown>>;
        sameAs: z.ZodType<string[], unknown, z.core.$ZodTypeInternals<string[], unknown>>;
        submitter: z.ZodType<import("./types.js").Maybe<import("./types.js").Submitter>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<import("./types.js").Submitter>, unknown>>;
        supersedes: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
        tags: z.ZodType<string[], unknown, z.core.$ZodTypeInternals<string[], unknown>>;
        totalGrantPoolSize: z.ZodType<import("./types.js").FundingAmount[], unknown, z.core.$ZodTypeInternals<import("./types.js").FundingAmount[], unknown>>;
        totalGrantPoolSizeInUSD: z.ZodType<import("./types.js").Maybe<{
            unit: string;
            value: number;
        }>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<{
            unit: string;
            value: number;
        }>, 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>>;
        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 GrantPoolDocumentSchema: z.ZodObject<{
    header: z.ZodObject<{
        id: z.ZodString;
        name: z.ZodString;
        createdAtUtcIso: z.ZodString;
        lastModifiedAtUtcIso: z.ZodString;
        documentType: z.ZodLiteral<"rfp-hub/grant-pool">;
    }, z.core.$strip>;
    state: z.ZodObject<{
        global: z.ZodObject<Required<{
            applicationsURI: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
            attestationIssuersURI: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
            briefingURI: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
            categories: z.ZodType<string[], unknown, z.core.$ZodTypeInternals<string[], unknown>>;
            claimedFromEntry: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
            closeDate: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
            code: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
            contextDocuments: z.ZodType<import("./types.js").ContextDocument[], unknown, z.core.$ZodTypeInternals<import("./types.js").ContextDocument[], 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>>;
            duplicateOf: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
            ecosystems: z.ZodType<string[], unknown, z.core.$ZodTypeInternals<string[], unknown>>;
            eligibilityCriteria: 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>>;
            evaluationCriteria: 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>>;
            governanceState: z.ZodType<import("./types.js").PoolGovernanceState, unknown, z.core.$ZodTypeInternals<import("./types.js").PoolGovernanceState, unknown>>;
            governanceURI: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
            grantFundingMechanism: z.ZodType<import("./types.js").Maybe<import("./types.js").FundingMechanism>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<import("./types.js").FundingMechanism>, unknown>>;
            grantSystemRef: 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>>;
            isOpen: z.ZodType<boolean, unknown, z.core.$ZodTypeInternals<boolean, unknown>>;
            lastVerifiedAt: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
            lifecycle: z.ZodType<import("./types.js").GrantPoolLifecycle, unknown, z.core.$ZodTypeInternals<import("./types.js").GrantPoolLifecycle, unknown>>;
            maxGrant: z.ZodType<import("./types.js").FundingAmount[], unknown, z.core.$ZodTypeInternals<import("./types.js").FundingAmount[], unknown>>;
            minGrant: z.ZodType<import("./types.js").FundingAmount[], unknown, z.core.$ZodTypeInternals<import("./types.js").FundingAmount[], unknown>>;
            name: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
            openDate: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
            publisher: z.ZodType<import("./types.js").Maybe<import("./types.js").Publisher>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<import("./types.js").Publisher>, unknown>>;
            requiredCredentials: z.ZodType<string[], unknown, z.core.$ZodTypeInternals<string[], unknown>>;
            reviewers: z.ZodType<import("./types.js").Reviewer[], unknown, z.core.$ZodTypeInternals<import("./types.js").Reviewer[], unknown>>;
            sameAs: z.ZodType<string[], unknown, z.core.$ZodTypeInternals<string[], unknown>>;
            submitter: z.ZodType<import("./types.js").Maybe<import("./types.js").Submitter>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<import("./types.js").Submitter>, unknown>>;
            supersedes: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
            tags: z.ZodType<string[], unknown, z.core.$ZodTypeInternals<string[], unknown>>;
            totalGrantPoolSize: z.ZodType<import("./types.js").FundingAmount[], unknown, z.core.$ZodTypeInternals<import("./types.js").FundingAmount[], unknown>>;
            totalGrantPoolSizeInUSD: z.ZodType<import("./types.js").Maybe<{
                unit: string;
                value: number;
            }>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<{
                unit: string;
                value: number;
            }>, 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>>;
            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<{
            applicationsURI: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
            attestationIssuersURI: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
            briefingURI: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
            categories: z.ZodType<string[], unknown, z.core.$ZodTypeInternals<string[], unknown>>;
            claimedFromEntry: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
            closeDate: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
            code: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
            contextDocuments: z.ZodType<import("./types.js").ContextDocument[], unknown, z.core.$ZodTypeInternals<import("./types.js").ContextDocument[], 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>>;
            duplicateOf: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
            ecosystems: z.ZodType<string[], unknown, z.core.$ZodTypeInternals<string[], unknown>>;
            eligibilityCriteria: 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>>;
            evaluationCriteria: 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>>;
            governanceState: z.ZodType<import("./types.js").PoolGovernanceState, unknown, z.core.$ZodTypeInternals<import("./types.js").PoolGovernanceState, unknown>>;
            governanceURI: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
            grantFundingMechanism: z.ZodType<import("./types.js").Maybe<import("./types.js").FundingMechanism>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<import("./types.js").FundingMechanism>, unknown>>;
            grantSystemRef: 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>>;
            isOpen: z.ZodType<boolean, unknown, z.core.$ZodTypeInternals<boolean, unknown>>;
            lastVerifiedAt: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
            lifecycle: z.ZodType<import("./types.js").GrantPoolLifecycle, unknown, z.core.$ZodTypeInternals<import("./types.js").GrantPoolLifecycle, unknown>>;
            maxGrant: z.ZodType<import("./types.js").FundingAmount[], unknown, z.core.$ZodTypeInternals<import("./types.js").FundingAmount[], unknown>>;
            minGrant: z.ZodType<import("./types.js").FundingAmount[], unknown, z.core.$ZodTypeInternals<import("./types.js").FundingAmount[], unknown>>;
            name: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
            openDate: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
            publisher: z.ZodType<import("./types.js").Maybe<import("./types.js").Publisher>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<import("./types.js").Publisher>, unknown>>;
            requiredCredentials: z.ZodType<string[], unknown, z.core.$ZodTypeInternals<string[], unknown>>;
            reviewers: z.ZodType<import("./types.js").Reviewer[], unknown, z.core.$ZodTypeInternals<import("./types.js").Reviewer[], unknown>>;
            sameAs: z.ZodType<string[], unknown, z.core.$ZodTypeInternals<string[], unknown>>;
            submitter: z.ZodType<import("./types.js").Maybe<import("./types.js").Submitter>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<import("./types.js").Submitter>, unknown>>;
            supersedes: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
            tags: z.ZodType<string[], unknown, z.core.$ZodTypeInternals<string[], unknown>>;
            totalGrantPoolSize: z.ZodType<import("./types.js").FundingAmount[], unknown, z.core.$ZodTypeInternals<import("./types.js").FundingAmount[], unknown>>;
            totalGrantPoolSizeInUSD: z.ZodType<import("./types.js").Maybe<{
                unit: string;
                value: number;
            }>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<{
                unit: string;
                value: number;
            }>, 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>>;
            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 GrantPool document state object */
export declare function isGrantPoolState(state: unknown): state is GrantPoolPHState;
/** Simple helper function to assert that a document state object is a GrantPool document state object */
export declare function assertIsGrantPoolState(state: unknown): asserts state is GrantPoolPHState;
/** Simple helper function to check if a document is a GrantPool document */
export declare function isGrantPoolDocument(document: unknown): document is GrantPoolDocument;
/** Simple helper function to assert that a document is a GrantPool document */
export declare function assertIsGrantPoolDocument(document: unknown): asserts document is GrantPoolDocument;
//# sourceMappingURL=document-schema.d.ts.map