import { z } from 'zod'; import { PluginAccessScopeType, PluginActionPermissionLevel } from './interfaces'; export declare const PluginActionPermissionLevelSig: z.ZodNativeEnum; export declare const PluginAccessScopeTypeSig: z.ZodNativeEnum; export declare const PluginAccessKnowledgeBaseInfoScopeSig: z.ZodObject<{ type: z.ZodLiteral; level: z.ZodNativeEnum; }, "strip", z.ZodTypeAny, { type: PluginAccessScopeType.KnowledgeBaseInfo; level: PluginActionPermissionLevel; }, { type: PluginAccessScopeType.KnowledgeBaseInfo; level: PluginActionPermissionLevel; }>; export declare const PluginAccessFullKbScopeSig: z.ZodObject<{ type: z.ZodLiteral; level: z.ZodNativeEnum; }, "strip", z.ZodTypeAny, { type: PluginAccessScopeType.All; level: PluginActionPermissionLevel; }, { type: PluginAccessScopeType.All; level: PluginActionPermissionLevel; }>; export declare const PluginAccessDescendantsOfNameScopeSig: z.ZodObject<{ type: z.ZodLiteral; remName: z.ZodString; level: z.ZodNativeEnum; }, "strip", z.ZodTypeAny, { type: PluginAccessScopeType.DescendantsOfName; level: PluginActionPermissionLevel; remName: string; }, { type: PluginAccessScopeType.DescendantsOfName; level: PluginActionPermissionLevel; remName: string; }>; export declare const PluginAccessDescendantsOfIdScopeSig: z.ZodObject<{ type: z.ZodLiteral; remId: z.ZodString; level: z.ZodNativeEnum; }, "strip", z.ZodTypeAny, { type: PluginAccessScopeType.DescendantsOfId; level: PluginActionPermissionLevel; remId: string; }, { type: PluginAccessScopeType.DescendantsOfId; level: PluginActionPermissionLevel; remId: string; }>; export declare const PluginAccessPowerupScopeSig: z.ZodObject<{ type: z.ZodLiteral; powerupCode: z.ZodString; level: z.ZodNativeEnum; }, "strip", z.ZodTypeAny, { type: PluginAccessScopeType.Powerup; level: PluginActionPermissionLevel; powerupCode: string; }, { type: PluginAccessScopeType.Powerup; level: PluginActionPermissionLevel; powerupCode: string; }>; export declare const PluginAccessFocusedSubtreeSig: z.ZodObject<{ type: z.ZodLiteral; level: z.ZodNativeEnum; }, "strip", z.ZodTypeAny, { type: PluginAccessScopeType.FocusedSubtree; level: PluginActionPermissionLevel; }, { type: PluginAccessScopeType.FocusedSubtree; level: PluginActionPermissionLevel; }>; export declare const PluginAccessScopeSig: z.ZodUnion<[z.ZodObject<{ type: z.ZodLiteral; level: z.ZodNativeEnum; }, "strip", z.ZodTypeAny, { type: PluginAccessScopeType.All; level: PluginActionPermissionLevel; }, { type: PluginAccessScopeType.All; level: PluginActionPermissionLevel; }>, z.ZodObject<{ type: z.ZodLiteral; remName: z.ZodString; level: z.ZodNativeEnum; }, "strip", z.ZodTypeAny, { type: PluginAccessScopeType.DescendantsOfName; level: PluginActionPermissionLevel; remName: string; }, { type: PluginAccessScopeType.DescendantsOfName; level: PluginActionPermissionLevel; remName: string; }>, z.ZodObject<{ type: z.ZodLiteral; remId: z.ZodString; level: z.ZodNativeEnum; }, "strip", z.ZodTypeAny, { type: PluginAccessScopeType.DescendantsOfId; level: PluginActionPermissionLevel; remId: string; }, { type: PluginAccessScopeType.DescendantsOfId; level: PluginActionPermissionLevel; remId: string; }>, z.ZodObject<{ type: z.ZodLiteral; powerupCode: z.ZodString; level: z.ZodNativeEnum; }, "strip", z.ZodTypeAny, { type: PluginAccessScopeType.Powerup; level: PluginActionPermissionLevel; powerupCode: string; }, { type: PluginAccessScopeType.Powerup; level: PluginActionPermissionLevel; powerupCode: string; }>, z.ZodObject<{ type: z.ZodLiteral; level: z.ZodNativeEnum; }, "strip", z.ZodTypeAny, { type: PluginAccessScopeType.FocusedSubtree; level: PluginActionPermissionLevel; }, { type: PluginAccessScopeType.FocusedSubtree; level: PluginActionPermissionLevel; }>, z.ZodObject<{ type: z.ZodLiteral; level: z.ZodNativeEnum; }, "strip", z.ZodTypeAny, { type: PluginAccessScopeType.KnowledgeBaseInfo; level: PluginActionPermissionLevel; }, { type: PluginAccessScopeType.KnowledgeBaseInfo; level: PluginActionPermissionLevel; }>]>; export declare const VersionSig: z.ZodObject<{ major: z.ZodNumber; minor: z.ZodNumber; patch: z.ZodNumber; }, "strip", z.ZodTypeAny, { major: number; minor: number; patch: number; }, { major: number; minor: number; patch: number; }>; export type ManifestVersion = z.infer; export declare const PluginManifestV1Sig: z.ZodObject<{ id: z.ZodEffects; name: z.ZodString; version: z.ZodObject<{ major: z.ZodNumber; minor: z.ZodNumber; patch: z.ZodNumber; }, "strip", z.ZodTypeAny, { major: number; minor: number; patch: number; }, { major: number; minor: number; patch: number; }>; manifestVersion: z.ZodLiteral<1>; requestNative: z.ZodBoolean; requiredScopes: z.ZodArray; level: z.ZodNativeEnum; }, "strip", z.ZodTypeAny, { type: PluginAccessScopeType.All; level: PluginActionPermissionLevel; }, { type: PluginAccessScopeType.All; level: PluginActionPermissionLevel; }>, z.ZodObject<{ type: z.ZodLiteral; remName: z.ZodString; level: z.ZodNativeEnum; }, "strip", z.ZodTypeAny, { type: PluginAccessScopeType.DescendantsOfName; level: PluginActionPermissionLevel; remName: string; }, { type: PluginAccessScopeType.DescendantsOfName; level: PluginActionPermissionLevel; remName: string; }>, z.ZodObject<{ type: z.ZodLiteral; remId: z.ZodString; level: z.ZodNativeEnum; }, "strip", z.ZodTypeAny, { type: PluginAccessScopeType.DescendantsOfId; level: PluginActionPermissionLevel; remId: string; }, { type: PluginAccessScopeType.DescendantsOfId; level: PluginActionPermissionLevel; remId: string; }>, z.ZodObject<{ type: z.ZodLiteral; powerupCode: z.ZodString; level: z.ZodNativeEnum; }, "strip", z.ZodTypeAny, { type: PluginAccessScopeType.Powerup; level: PluginActionPermissionLevel; powerupCode: string; }, { type: PluginAccessScopeType.Powerup; level: PluginActionPermissionLevel; powerupCode: string; }>, z.ZodObject<{ type: z.ZodLiteral; level: z.ZodNativeEnum; }, "strip", z.ZodTypeAny, { type: PluginAccessScopeType.FocusedSubtree; level: PluginActionPermissionLevel; }, { type: PluginAccessScopeType.FocusedSubtree; level: PluginActionPermissionLevel; }>, z.ZodObject<{ type: z.ZodLiteral; level: z.ZodNativeEnum; }, "strip", z.ZodTypeAny, { type: PluginAccessScopeType.KnowledgeBaseInfo; level: PluginActionPermissionLevel; }, { type: PluginAccessScopeType.KnowledgeBaseInfo; level: PluginActionPermissionLevel; }>]>, "many">; repoUrl: z.ZodString; author: z.ZodString; enableOnMobile: z.ZodBoolean; theme: z.ZodOptional, z.ZodLiteral<"light">]>, "many">>; minimumRemNoteVersion: z.ZodOptional>; description: z.ZodOptional; projectUrl: z.ZodOptional; supportUrl: z.ZodOptional; changelogUrl: z.ZodOptional; unlisted: z.ZodOptional; }, "strip", z.ZodTypeAny, { id: string; name: string; version: { major: number; minor: number; patch: number; }; manifestVersion: 1; requestNative: boolean; requiredScopes: ({ type: PluginAccessScopeType.KnowledgeBaseInfo; level: PluginActionPermissionLevel; } | { type: PluginAccessScopeType.All; level: PluginActionPermissionLevel; } | { type: PluginAccessScopeType.DescendantsOfName; level: PluginActionPermissionLevel; remName: string; } | { type: PluginAccessScopeType.DescendantsOfId; level: PluginActionPermissionLevel; remId: string; } | { type: PluginAccessScopeType.Powerup; level: PluginActionPermissionLevel; powerupCode: string; } | { type: PluginAccessScopeType.FocusedSubtree; level: PluginActionPermissionLevel; })[]; repoUrl: string; author: string; enableOnMobile: boolean; theme?: ("dark" | "light")[] | undefined; minimumRemNoteVersion?: { major: number; minor: number; patch: number; } | undefined; description?: string | undefined; projectUrl?: string | undefined; supportUrl?: string | undefined; changelogUrl?: string | undefined; unlisted?: boolean | undefined; }, { id: string; name: string; version: { major: number; minor: number; patch: number; }; manifestVersion: 1; requestNative: boolean; requiredScopes: ({ type: PluginAccessScopeType.KnowledgeBaseInfo; level: PluginActionPermissionLevel; } | { type: PluginAccessScopeType.All; level: PluginActionPermissionLevel; } | { type: PluginAccessScopeType.DescendantsOfName; level: PluginActionPermissionLevel; remName: string; } | { type: PluginAccessScopeType.DescendantsOfId; level: PluginActionPermissionLevel; remId: string; } | { type: PluginAccessScopeType.Powerup; level: PluginActionPermissionLevel; powerupCode: string; } | { type: PluginAccessScopeType.FocusedSubtree; level: PluginActionPermissionLevel; })[]; repoUrl: string; author: string; enableOnMobile: boolean; theme?: ("dark" | "light")[] | undefined; minimumRemNoteVersion?: { major: number; minor: number; patch: number; } | undefined; description?: string | undefined; projectUrl?: string | undefined; supportUrl?: string | undefined; changelogUrl?: string | undefined; unlisted?: boolean | undefined; }>; export type PluginManifestV1 = z.TypeOf; export declare const SnippetManifestV1Sig: z.ZodObject<{ id: z.ZodEffects; name: z.ZodString; description: z.ZodOptional; version: z.ZodObject<{ major: z.ZodNumber; minor: z.ZodNumber; patch: z.ZodNumber; }, "strip", z.ZodTypeAny, { major: number; minor: number; patch: number; }, { major: number; minor: number; patch: number; }>; manifestVersion: z.ZodLiteral<1>; requestNative: z.ZodBoolean; requiredScopes: z.ZodArray; level: z.ZodNativeEnum; }, "strip", z.ZodTypeAny, { type: PluginAccessScopeType.All; level: PluginActionPermissionLevel; }, { type: PluginAccessScopeType.All; level: PluginActionPermissionLevel; }>, z.ZodObject<{ type: z.ZodLiteral; remName: z.ZodString; level: z.ZodNativeEnum; }, "strip", z.ZodTypeAny, { type: PluginAccessScopeType.DescendantsOfName; level: PluginActionPermissionLevel; remName: string; }, { type: PluginAccessScopeType.DescendantsOfName; level: PluginActionPermissionLevel; remName: string; }>, z.ZodObject<{ type: z.ZodLiteral; remId: z.ZodString; level: z.ZodNativeEnum; }, "strip", z.ZodTypeAny, { type: PluginAccessScopeType.DescendantsOfId; level: PluginActionPermissionLevel; remId: string; }, { type: PluginAccessScopeType.DescendantsOfId; level: PluginActionPermissionLevel; remId: string; }>, z.ZodObject<{ type: z.ZodLiteral; powerupCode: z.ZodString; level: z.ZodNativeEnum; }, "strip", z.ZodTypeAny, { type: PluginAccessScopeType.Powerup; level: PluginActionPermissionLevel; powerupCode: string; }, { type: PluginAccessScopeType.Powerup; level: PluginActionPermissionLevel; powerupCode: string; }>, z.ZodObject<{ type: z.ZodLiteral; level: z.ZodNativeEnum; }, "strip", z.ZodTypeAny, { type: PluginAccessScopeType.FocusedSubtree; level: PluginActionPermissionLevel; }, { type: PluginAccessScopeType.FocusedSubtree; level: PluginActionPermissionLevel; }>, z.ZodObject<{ type: z.ZodLiteral; level: z.ZodNativeEnum; }, "strip", z.ZodTypeAny, { type: PluginAccessScopeType.KnowledgeBaseInfo; level: PluginActionPermissionLevel; }, { type: PluginAccessScopeType.KnowledgeBaseInfo; level: PluginActionPermissionLevel; }>]>, "many">; author: z.ZodString; enableOnMobile: z.ZodBoolean; theme: z.ZodOptional, z.ZodLiteral<"light">]>, "many">>; minimumRemNoteVersion: z.ZodOptional>; projectUrl: z.ZodOptional; supportUrl: z.ZodOptional; changelogUrl: z.ZodOptional; unlisted: z.ZodOptional; repoUrl: z.ZodOptional; }, "strip", z.ZodTypeAny, { id: string; name: string; version: { major: number; minor: number; patch: number; }; manifestVersion: 1; requestNative: boolean; requiredScopes: ({ type: PluginAccessScopeType.KnowledgeBaseInfo; level: PluginActionPermissionLevel; } | { type: PluginAccessScopeType.All; level: PluginActionPermissionLevel; } | { type: PluginAccessScopeType.DescendantsOfName; level: PluginActionPermissionLevel; remName: string; } | { type: PluginAccessScopeType.DescendantsOfId; level: PluginActionPermissionLevel; remId: string; } | { type: PluginAccessScopeType.Powerup; level: PluginActionPermissionLevel; powerupCode: string; } | { type: PluginAccessScopeType.FocusedSubtree; level: PluginActionPermissionLevel; })[]; author: string; enableOnMobile: boolean; description?: string | undefined; theme?: ("dark" | "light")[] | undefined; minimumRemNoteVersion?: { major: number; minor: number; patch: number; } | undefined; projectUrl?: string | undefined; supportUrl?: string | undefined; changelogUrl?: string | undefined; unlisted?: boolean | undefined; repoUrl?: string | undefined; }, { id: string; name: string; version: { major: number; minor: number; patch: number; }; manifestVersion: 1; requestNative: boolean; requiredScopes: ({ type: PluginAccessScopeType.KnowledgeBaseInfo; level: PluginActionPermissionLevel; } | { type: PluginAccessScopeType.All; level: PluginActionPermissionLevel; } | { type: PluginAccessScopeType.DescendantsOfName; level: PluginActionPermissionLevel; remName: string; } | { type: PluginAccessScopeType.DescendantsOfId; level: PluginActionPermissionLevel; remId: string; } | { type: PluginAccessScopeType.Powerup; level: PluginActionPermissionLevel; powerupCode: string; } | { type: PluginAccessScopeType.FocusedSubtree; level: PluginActionPermissionLevel; })[]; author: string; enableOnMobile: boolean; description?: string | undefined; theme?: ("dark" | "light")[] | undefined; minimumRemNoteVersion?: { major: number; minor: number; patch: number; } | undefined; projectUrl?: string | undefined; supportUrl?: string | undefined; changelogUrl?: string | undefined; unlisted?: boolean | undefined; repoUrl?: string | undefined; }>; export type SnippetManifest = z.TypeOf; interface ValidationError { field: string; message: string; expected?: string; received?: string; } export declare const formatValidationError: (e: ValidationError) => string; export declare const prettifyZodErrors: (error: z.ZodError) => ValidationError[]; export type Success = { success: true; data: T; }; export type Fail = { success: false; errors: T; }; export type Either = Fail | Success; export declare const parseManifest: (m: any) => Either; export declare const parseSnippetManifest: (m: any) => Either; export {};