import { z } from "zod";
import type { GrantApplicationDocument, GrantApplicationPHState } from "./types.js";
/** Schema for validating the header object of a GrantApplication document */
export declare const GrantApplicationDocumentHeaderSchema: z.ZodObject<{
    id: z.ZodString;
    name: z.ZodString;
    createdAtUtcIso: z.ZodString;
    lastModifiedAtUtcIso: z.ZodString;
    documentType: z.ZodLiteral<"rfp-hub/grant-application">;
}, z.core.$strip>;
/** Schema for validating the state object of a GrantApplication document */
export declare const GrantApplicationPHStateSchema: z.ZodObject<{
    global: z.ZodObject<Required<{
        applicationCompletionRate: z.ZodType<import("./types.js").Maybe<number>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<number>, unknown>>;
        contentURI: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
        createdAt: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
        discussionsTo: 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>>;
        feedbackNotes: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
        fundsApproved: z.ZodType<import("./types.js").AppFundingAmount[], unknown, z.core.$ZodTypeInternals<import("./types.js").AppFundingAmount[], unknown>>;
        fundsApprovedInUSD: z.ZodType<import("./types.js").Maybe<{
            unit: string;
            value: number;
        }>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<{
            unit: string;
            value: number;
        }>, unknown>>;
        fundsAsked: z.ZodType<import("./types.js").AppFundingAmount[], unknown, z.core.$ZodTypeInternals<import("./types.js").AppFundingAmount[], unknown>>;
        fundsAskedInUSD: z.ZodType<import("./types.js").Maybe<{
            unit: string;
            value: number;
        }>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<{
            unit: string;
            value: number;
        }>, unknown>>;
        grantPoolId: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
        grantPoolName: 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>>;
        isInactive: z.ZodType<boolean, unknown, z.core.$ZodTypeInternals<boolean, unknown>>;
        licenseURI: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
        paymentTerm: z.ZodType<import("./types.js").Maybe<import("./types.js").PaymentTerm>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<import("./types.js").PaymentTerm>, unknown>>;
        payoutAddress: z.ZodType<import("./types.js").Maybe<import("./types.js").PayoutAddress>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<import("./types.js").PayoutAddress>, unknown>>;
        payouts: z.ZodType<import("./types.js").Payout[], unknown, z.core.$ZodTypeInternals<import("./types.js").Payout[], unknown>>;
        projectId: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
        projectName: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
        projectsURI: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
        reviewStage: z.ZodType<import("./types.js").ReviewStage, unknown, z.core.$ZodTypeInternals<import("./types.js").ReviewStage, unknown>>;
        reviewedAt: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
        reviewedBy: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
        revisionCount: z.ZodType<number, unknown, z.core.$ZodTypeInternals<number, unknown>>;
        socials: z.ZodType<import("./types.js").AppSocial[], unknown, z.core.$ZodTypeInternals<import("./types.js").AppSocial[], unknown>>;
        status: z.ZodType<import("./types.js").ApplicationStatus, unknown, z.core.$ZodTypeInternals<import("./types.js").ApplicationStatus, unknown>>;
        submittedAt: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
        submitter: z.ZodType<import("./types.js").Maybe<import("./types.js").AppSubmitter>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<import("./types.js").AppSubmitter>, unknown>>;
    }>, z.core.$strip>;
}, z.core.$strip>;
export declare const GrantApplicationDocumentSchema: z.ZodObject<{
    header: z.ZodObject<{
        id: z.ZodString;
        name: z.ZodString;
        createdAtUtcIso: z.ZodString;
        lastModifiedAtUtcIso: z.ZodString;
        documentType: z.ZodLiteral<"rfp-hub/grant-application">;
    }, z.core.$strip>;
    state: z.ZodObject<{
        global: z.ZodObject<Required<{
            applicationCompletionRate: z.ZodType<import("./types.js").Maybe<number>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<number>, unknown>>;
            contentURI: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
            createdAt: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
            discussionsTo: 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>>;
            feedbackNotes: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
            fundsApproved: z.ZodType<import("./types.js").AppFundingAmount[], unknown, z.core.$ZodTypeInternals<import("./types.js").AppFundingAmount[], unknown>>;
            fundsApprovedInUSD: z.ZodType<import("./types.js").Maybe<{
                unit: string;
                value: number;
            }>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<{
                unit: string;
                value: number;
            }>, unknown>>;
            fundsAsked: z.ZodType<import("./types.js").AppFundingAmount[], unknown, z.core.$ZodTypeInternals<import("./types.js").AppFundingAmount[], unknown>>;
            fundsAskedInUSD: z.ZodType<import("./types.js").Maybe<{
                unit: string;
                value: number;
            }>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<{
                unit: string;
                value: number;
            }>, unknown>>;
            grantPoolId: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
            grantPoolName: 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>>;
            isInactive: z.ZodType<boolean, unknown, z.core.$ZodTypeInternals<boolean, unknown>>;
            licenseURI: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
            paymentTerm: z.ZodType<import("./types.js").Maybe<import("./types.js").PaymentTerm>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<import("./types.js").PaymentTerm>, unknown>>;
            payoutAddress: z.ZodType<import("./types.js").Maybe<import("./types.js").PayoutAddress>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<import("./types.js").PayoutAddress>, unknown>>;
            payouts: z.ZodType<import("./types.js").Payout[], unknown, z.core.$ZodTypeInternals<import("./types.js").Payout[], unknown>>;
            projectId: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
            projectName: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
            projectsURI: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
            reviewStage: z.ZodType<import("./types.js").ReviewStage, unknown, z.core.$ZodTypeInternals<import("./types.js").ReviewStage, unknown>>;
            reviewedAt: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
            reviewedBy: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
            revisionCount: z.ZodType<number, unknown, z.core.$ZodTypeInternals<number, unknown>>;
            socials: z.ZodType<import("./types.js").AppSocial[], unknown, z.core.$ZodTypeInternals<import("./types.js").AppSocial[], unknown>>;
            status: z.ZodType<import("./types.js").ApplicationStatus, unknown, z.core.$ZodTypeInternals<import("./types.js").ApplicationStatus, unknown>>;
            submittedAt: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
            submitter: z.ZodType<import("./types.js").Maybe<import("./types.js").AppSubmitter>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<import("./types.js").AppSubmitter>, unknown>>;
        }>, z.core.$strip>;
    }, z.core.$strip>;
    initialState: z.ZodObject<{
        global: z.ZodObject<Required<{
            applicationCompletionRate: z.ZodType<import("./types.js").Maybe<number>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<number>, unknown>>;
            contentURI: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
            createdAt: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
            discussionsTo: 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>>;
            feedbackNotes: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
            fundsApproved: z.ZodType<import("./types.js").AppFundingAmount[], unknown, z.core.$ZodTypeInternals<import("./types.js").AppFundingAmount[], unknown>>;
            fundsApprovedInUSD: z.ZodType<import("./types.js").Maybe<{
                unit: string;
                value: number;
            }>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<{
                unit: string;
                value: number;
            }>, unknown>>;
            fundsAsked: z.ZodType<import("./types.js").AppFundingAmount[], unknown, z.core.$ZodTypeInternals<import("./types.js").AppFundingAmount[], unknown>>;
            fundsAskedInUSD: z.ZodType<import("./types.js").Maybe<{
                unit: string;
                value: number;
            }>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<{
                unit: string;
                value: number;
            }>, unknown>>;
            grantPoolId: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
            grantPoolName: 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>>;
            isInactive: z.ZodType<boolean, unknown, z.core.$ZodTypeInternals<boolean, unknown>>;
            licenseURI: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
            paymentTerm: z.ZodType<import("./types.js").Maybe<import("./types.js").PaymentTerm>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<import("./types.js").PaymentTerm>, unknown>>;
            payoutAddress: z.ZodType<import("./types.js").Maybe<import("./types.js").PayoutAddress>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<import("./types.js").PayoutAddress>, unknown>>;
            payouts: z.ZodType<import("./types.js").Payout[], unknown, z.core.$ZodTypeInternals<import("./types.js").Payout[], unknown>>;
            projectId: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
            projectName: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
            projectsURI: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
            reviewStage: z.ZodType<import("./types.js").ReviewStage, unknown, z.core.$ZodTypeInternals<import("./types.js").ReviewStage, unknown>>;
            reviewedAt: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
            reviewedBy: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
            revisionCount: z.ZodType<number, unknown, z.core.$ZodTypeInternals<number, unknown>>;
            socials: z.ZodType<import("./types.js").AppSocial[], unknown, z.core.$ZodTypeInternals<import("./types.js").AppSocial[], unknown>>;
            status: z.ZodType<import("./types.js").ApplicationStatus, unknown, z.core.$ZodTypeInternals<import("./types.js").ApplicationStatus, unknown>>;
            submittedAt: z.ZodType<import("./types.js").Maybe<string>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<string>, unknown>>;
            submitter: z.ZodType<import("./types.js").Maybe<import("./types.js").AppSubmitter>, unknown, z.core.$ZodTypeInternals<import("./types.js").Maybe<import("./types.js").AppSubmitter>, unknown>>;
        }>, z.core.$strip>;
    }, z.core.$strip>;
}, z.core.$strip>;
/** Simple helper function to check if a state object is a GrantApplication document state object */
export declare function isGrantApplicationState(state: unknown): state is GrantApplicationPHState;
/** Simple helper function to assert that a document state object is a GrantApplication document state object */
export declare function assertIsGrantApplicationState(state: unknown): asserts state is GrantApplicationPHState;
/** Simple helper function to check if a document is a GrantApplication document */
export declare function isGrantApplicationDocument(document: unknown): document is GrantApplicationDocument;
/** Simple helper function to assert that a document is a GrantApplication document */
export declare function assertIsGrantApplicationDocument(document: unknown): asserts document is GrantApplicationDocument;
//# sourceMappingURL=document-schema.d.ts.map