import { ReactNode } from 'react';
import { z } from 'zod';

export declare type EnumPrincipalType = 'service' | 'serviceaccount' | 'user';

export declare type FormFields = z.infer<typeof formSchema>;

export declare const formSchema: z.ZodObject<{
    title: z.ZodString;
    description: z.ZodString;
}, "strip", z.ZodTypeAny, {
    title: string;
    description: string;
}, {
    title: string;
    description: string;
}>;

export declare type NonEmptyReactNode = Exclude<ReactNode, boolean | null | undefined>;

export declare interface PrincipalType {
    created?: number;
    display_name?: string;
    email?: string;
    id?: number;
    type?: EnumPrincipalType;
    uid?: string;
    updated?: number;
    avatar_url?: string;
}

export declare interface TypesDiffStats {
    additions?: number | null;
    commits?: number | null;
    deletions?: number | null;
    files_changed?: number | null;
}

export declare interface TypesUser {
    admin?: boolean;
    blocked?: boolean;
    created?: number;
    display_name?: string;
    email?: string;
    id?: number;
    uid?: string;
    updated?: number;
    url?: string;
}

export declare interface TypesUserGroupInfo {
    description?: string;
    id?: number;
    identifier?: string;
    name?: string;
    scope?: number;
}

export declare interface UsererrorError {
    message?: string;
    values?: {
        [key: string]: any;
    };
}

export declare interface ViolationState {
    violation: boolean;
    bypassable: boolean;
    bypassed: boolean;
}

export { }
