export interface GenericResponse {
    status: string;
    message: string;
}
export interface IResetPasswordRequest {
    resetToken: string;
    password: string;
    passwordConfirm: string;
}
export interface IUser {
    name: string;
    email: string;
    role: string;
    photo: string;
    companies: ICompany[];
    _id: string;
    id: string;
    created_at: string;
    updated_at: string;
    __v: number;
}
export interface ICompany {
    name: string;
    users: string[];
    admins: string[];
    owners: string[];
    projects: Project[];
    _id: string;
    id: string;
    created_at: string;
    updated_at: string;
    __v: number;
}
export interface ReduxHistoryItem {
    name: string;
    description: string;
    isRoot: boolean;
    isTrashed: boolean;
    company: string;
    project: string;
    owners: string[];
    isState: boolean;
    value?: string;
    items: ReduxHistoryItem[];
    _id: string;
    id: string;
    created_at: string;
    updated_at: string;
    __v: number;
}
export interface IPostRequest {
    title: string;
    content: string;
    image: string;
    user: string;
}
export interface IPostResponse {
    id: string;
    title: string;
    content: string;
    image: string;
    category: string;
    user: IUser;
    created_at: string;
    updated_at: string;
}
export interface IItemResponse {
    name: string;
}
export interface ICreateCompanyResponse {
    id: string;
    apiKey: string;
    message: string;
}
export interface ICreateItemRequest {
    name: string;
    isState: boolean;
    folderId: string;
    projectId: string;
    value?: string;
}
export interface IUpdateItemRequest {
    item: {
        name: string;
        description?: string;
    };
    id: string;
}
export type Project = {
    name: string;
    description: string;
    owners: string[];
    plugins: Plugins[];
    reduxHistoryRoot: string;
    company: string;
    _id: string;
    id: string;
    created_at: string;
    updated_at: string;
    __v: number;
};
export type CreateProjectRequest = {
    name: string;
    description?: string;
};
export type UpdateProjectRequest = {
    project: {
        name: string;
        description: string;
    };
    id: string;
};
export declare enum Plugins {
    'reduxHistory' = "reduxHistory"
}
