jmap-kit
    Preparing search index...
    EmailCapability: {
        invocations: {
            Email: {
                request: {
                    changes: InvocationFactory<
                        BaseChangesRequestInvocationArgs,
                        EmailInvocation<BaseChangesRequestInvocationArgs>,
                    >;
                    copy: InvocationFactory<
                        EmailCopyRequestInvocationArgs,
                        EmailInvocation<EmailCopyRequestInvocationArgs>,
                    >;
                    get: InvocationFactory<
                        EmailGetRequestInvocationArgs,
                        EmailInvocation<EmailGetRequestInvocationArgs>,
                    >;
                    import: InvocationFactory<
                        EmailImportRequestInvocationArgs,
                        EmailInvocation<EmailImportRequestInvocationArgs>,
                    >;
                    parse: InvocationFactory<
                        EmailParseRequestInvocationArgs,
                        EmailInvocation<EmailParseRequestInvocationArgs>,
                    >;
                    query: InvocationFactory<
                        EmailQueryRequestInvocationArgs,
                        EmailInvocation<EmailQueryRequestInvocationArgs>,
                    >;
                    queryChanges: InvocationFactory<
                        EmailQueryChangesRequestInvocationArgs,
                        EmailInvocation<EmailQueryChangesRequestInvocationArgs>,
                    >;
                    set: InvocationFactory<
                        EmailSetRequestInvocationArgs,
                        EmailInvocation<EmailSetRequestInvocationArgs>,
                    >;
                };
                response: {
                    changes: InvocationFactory<
                        BaseChangesResponseInvocationArgs,
                        EmailInvocation<BaseChangesResponseInvocationArgs>,
                    >;
                    copy: InvocationFactory<
                        EmailCopyResponseInvocationArgs,
                        EmailInvocation<EmailCopyResponseInvocationArgs>,
                    >;
                    get: InvocationFactory<
                        EmailGetResponseInvocationArgs,
                        EmailInvocation<EmailGetResponseInvocationArgs>,
                    >;
                    import: InvocationFactory<
                        EmailImportResponseInvocationArgs,
                        EmailInvocation<EmailImportResponseInvocationArgs>,
                    >;
                    parse: InvocationFactory<
                        EmailParseResponseInvocationArgs,
                        EmailInvocation<EmailParseResponseInvocationArgs>,
                    >;
                    query: InvocationFactory<
                        BaseQueryResponseInvocationArgs,
                        EmailInvocation<BaseQueryResponseInvocationArgs>,
                    >;
                    queryChanges: InvocationFactory<
                        BaseQueryChangesResponseInvocationArgs,
                        EmailInvocation<BaseQueryChangesResponseInvocationArgs>,
                    >;
                    set: InvocationFactory<
                        EmailSetResponseInvocationArgs,
                        EmailInvocation<EmailSetResponseInvocationArgs>,
                    >;
                };
            };
            Mailbox: {
                request: {
                    changes: InvocationFactory<
                        BaseChangesRequestInvocationArgs,
                        MailboxInvocation<BaseChangesRequestInvocationArgs>,
                    >;
                    get: InvocationFactory<
                        MailboxGetRequestInvocationArgs,
                        MailboxInvocation<MailboxGetRequestInvocationArgs>,
                    >;
                    query: InvocationFactory<
                        MailboxQueryRequestInvocationArgs,
                        MailboxInvocation<MailboxQueryRequestInvocationArgs>,
                    >;
                    queryChanges: InvocationFactory<
                        MailboxQueryChangesRequestInvocationArgs,
                        MailboxInvocation<MailboxQueryChangesRequestInvocationArgs>,
                    >;
                    set: InvocationFactory<
                        MailboxSetRequestInvocationArgs,
                        MailboxInvocation<MailboxSetRequestInvocationArgs>,
                    >;
                };
                response: {
                    changes: InvocationFactory<
                        MailboxChangesResponseInvocationArgs,
                        MailboxInvocation<MailboxChangesResponseInvocationArgs>,
                    >;
                    get: InvocationFactory<
                        MailboxGetResponseInvocationArgs,
                        MailboxInvocation<MailboxGetResponseInvocationArgs>,
                    >;
                    query: InvocationFactory<
                        BaseQueryResponseInvocationArgs,
                        MailboxInvocation<BaseQueryResponseInvocationArgs>,
                    >;
                    queryChanges: InvocationFactory<
                        BaseQueryChangesResponseInvocationArgs,
                        MailboxInvocation<BaseQueryChangesResponseInvocationArgs>,
                    >;
                    set: InvocationFactory<
                        MailboxSetResponseInvocationArgs,
                        MailboxInvocation<MailboxSetResponseInvocationArgs>,
                    >;
                };
            };
            SearchSnippet: {
                request: {
                    get: InvocationFactory<
                        SearchSnippetGetRequestInvocationArgs,
                        SearchSnippetInvocation<SearchSnippetGetRequestInvocationArgs>,
                    >;
                };
                response: {
                    get: InvocationFactory<
                        SearchSnippetGetResponseInvocationArgs,
                        SearchSnippetInvocation<SearchSnippetGetResponseInvocationArgs>,
                    >;
                };
            };
            Thread: {
                request: {
                    changes: InvocationFactory<
                        BaseChangesRequestInvocationArgs,
                        ThreadInvocation<BaseChangesRequestInvocationArgs>,
                    >;
                    get: InvocationFactory<
                        ThreadGetRequestInvocationArgs,
                        ThreadInvocation<ThreadGetRequestInvocationArgs>,
                    >;
                };
                response: {
                    changes: InvocationFactory<
                        BaseChangesResponseInvocationArgs,
                        ThreadInvocation<BaseChangesResponseInvocationArgs>,
                    >;
                    get: InvocationFactory<
                        ThreadGetResponseInvocationArgs,
                        ThreadInvocation<ThreadGetResponseInvocationArgs>,
                    >;
                };
            };
        };
        schema: {
            accountCapability: ZodObject<
                {
                    emailQuerySortOptions: ZodArray<ZodString>;
                    maxMailboxDepth: ZodNullable<ZodNumber>;
                    maxMailboxesPerEmail: ZodNullable<ZodNumber>;
                    maxSizeAttachmentsPerEmail: ZodNumber;
                    maxSizeMailboxName: ZodNumber;
                    mayCreateTopLevelMailbox: ZodBoolean;
                },
                $loose,
            >;
        };
        uri: "urn:ietf:params:jmap:mail";
        validators: (
            | {
                hook: "invocation";
                name: string;
                trigger: {
                    capabilityUri?: keyof JMAPServerCapabilities;
                    dataType?: JMAPDataType;
                    method?: JMAPMethodName;
                };
                validate(
                    this: void,
                    context: BasePluginContext & {
                        invocation: Invocation<BaseInvocationArgs>;
                    },
                ): MaybePromise<ValidationResult>;
            }
            | {
                hook: "invocation";
                name: string;
                trigger: {
                    capabilityUri?: keyof JMAPServerCapabilities;
                    dataType?: JMAPDataType;
                    method?: JMAPMethodName;
                };
                validate(
                    this: void,
                    context: BasePluginContext & {
                        invocation: Invocation<MailboxSetRequestInvocationArgs>;
                    },
                ): MaybePromise<ValidationResult>;
            }
            | {
                hook: "invocation";
                name: string;
                trigger: {
                    capabilityUri?: keyof JMAPServerCapabilities;
                    dataType?: JMAPDataType;
                    method?: JMAPMethodName;
                };
                validate(
                    this: void,
                    context: BasePluginContext & {
                        invocation: Invocation<EmailQueryRequestInvocationArgs>;
                    },
                ): MaybePromise<ValidationResult>;
            }
            | {
                hook: "invocation";
                name: string;
                trigger: {
                    capabilityUri?: keyof JMAPServerCapabilities;
                    dataType?: JMAPDataType;
                    method?: JMAPMethodName;
                };
                validate(
                    this: void,
                    context: BasePluginContext & {
                        invocation: Invocation<EmailImportRequestInvocationArgs>;
                    },
                ): MaybePromise<ValidationResult>;
            }
        )[];
    } = ...

    Defines the Email capability, including all its associated invocations (Mailbox, Thread, Email, SearchSnippet) and validation plugins.

    Type Declaration