import { z } from 'zod';
/**
 * Types for Atlassian Bitbucket Workspaces API
 */
/**
 * Workspace type (basic object)
 */
export declare const WorkspaceTypeSchema: z.ZodLiteral<"workspace">;
export type WorkspaceType = z.infer<typeof WorkspaceTypeSchema>;
/**
 * Workspace user object
 */
export declare const WorkspaceUserSchema: z.ZodObject<{
    type: z.ZodLiteral<"user">;
    uuid: z.ZodString;
    nickname: z.ZodString;
    display_name: z.ZodString;
}, z.core.$strip>;
/**
 * Workspace permission type
 */
export declare const WorkspacePermissionSchema: z.ZodEnum<{
    owner: "owner";
    collaborator: "collaborator";
    member: "member";
}>;
export declare const WorkspaceLinksSchema: z.ZodObject<{
    avatar: z.ZodOptional<z.ZodObject<{
        href: z.ZodString;
        name: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
    html: z.ZodOptional<z.ZodObject<{
        href: z.ZodString;
        name: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
    members: z.ZodOptional<z.ZodObject<{
        href: z.ZodString;
        name: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
    owners: z.ZodOptional<z.ZodObject<{
        href: z.ZodString;
        name: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
    projects: z.ZodOptional<z.ZodObject<{
        href: z.ZodString;
        name: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
    repositories: z.ZodOptional<z.ZodObject<{
        href: z.ZodString;
        name: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
    snippets: z.ZodOptional<z.ZodObject<{
        href: z.ZodString;
        name: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
    self: z.ZodOptional<z.ZodObject<{
        href: z.ZodString;
        name: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
}, z.core.$strip>;
export type WorkspaceLinks = z.infer<typeof WorkspaceLinksSchema>;
/**
 * Workspace forking mode
 */
export declare const WorkspaceForkingModeSchema: z.ZodEnum<{
    allow_forks: "allow_forks";
    no_public_forks: "no_public_forks";
    no_forks: "no_forks";
}>;
export type WorkspaceForkingMode = z.infer<typeof WorkspaceForkingModeSchema>;
/**
 * Workspace object returned from the API
 */
export declare const WorkspaceSchema: z.ZodType<{
    type: WorkspaceType;
    uuid: string;
    name: string;
    slug: string;
    is_private?: boolean;
    is_privacy_enforced?: boolean;
    forking_mode?: WorkspaceForkingMode;
    created_on?: string;
    updated_on?: string;
    links: WorkspaceLinks;
}>;
/**
 * Workspace membership object
 */
export declare const WorkspaceMembershipSchema: z.ZodObject<{
    type: z.ZodLiteral<"workspace_membership">;
    permission: z.ZodEnum<{
        owner: "owner";
        collaborator: "collaborator";
        member: "member";
    }>;
    last_accessed: z.ZodOptional<z.ZodString>;
    added_on: z.ZodOptional<z.ZodString>;
    user: z.ZodObject<{
        type: z.ZodLiteral<"user">;
        uuid: z.ZodString;
        nickname: z.ZodString;
        display_name: z.ZodString;
    }, z.core.$strip>;
    workspace: z.ZodType<{
        type: WorkspaceType;
        uuid: string;
        name: string;
        slug: string;
        is_private?: boolean;
        is_privacy_enforced?: boolean;
        forking_mode?: WorkspaceForkingMode;
        created_on?: string;
        updated_on?: string;
        links: WorkspaceLinks;
    }, unknown, z.core.$ZodTypeInternals<{
        type: WorkspaceType;
        uuid: string;
        name: string;
        slug: string;
        is_private?: boolean;
        is_privacy_enforced?: boolean;
        forking_mode?: WorkspaceForkingMode;
        created_on?: string;
        updated_on?: string;
        links: WorkspaceLinks;
    }, unknown>>;
}, z.core.$strip>;
export type WorkspaceMembership = z.infer<typeof WorkspaceMembershipSchema>;
/**
 * Extended workspace object with optional fields
 * @remarks Currently identical to Workspace, but allows for future extension
 */
export declare const WorkspaceDetailedSchema: z.ZodType<{
    type: WorkspaceType;
    uuid: string;
    name: string;
    slug: string;
    is_private?: boolean;
    is_privacy_enforced?: boolean;
    forking_mode?: WorkspaceForkingMode;
    created_on?: string;
    updated_on?: string;
    links: WorkspaceLinks;
}, unknown, z.core.$ZodTypeInternals<{
    type: WorkspaceType;
    uuid: string;
    name: string;
    slug: string;
    is_private?: boolean;
    is_privacy_enforced?: boolean;
    forking_mode?: WorkspaceForkingMode;
    created_on?: string;
    updated_on?: string;
    links: WorkspaceLinks;
}, unknown>>;
export type WorkspaceDetailed = z.infer<typeof WorkspaceDetailedSchema>;
/**
 * Parameters for listing workspaces
 */
export declare const ListWorkspacesParamsSchema: z.ZodObject<{
    q: z.ZodOptional<z.ZodString>;
    page: z.ZodOptional<z.ZodNumber>;
    pagelen: z.ZodOptional<z.ZodNumber>;
}, z.core.$strip>;
export type ListWorkspacesParams = z.infer<typeof ListWorkspacesParamsSchema>;
/**
 * API response for user permissions on workspaces
 */
export declare const WorkspacePermissionsResponseSchema: z.ZodObject<{
    pagelen: z.ZodNumber;
    page: z.ZodNumber;
    size: z.ZodNumber;
    next: z.ZodOptional<z.ZodString>;
    previous: z.ZodOptional<z.ZodString>;
    values: z.ZodArray<z.ZodObject<{
        type: z.ZodLiteral<"workspace_membership">;
        permission: z.ZodEnum<{
            owner: "owner";
            collaborator: "collaborator";
            member: "member";
        }>;
        last_accessed: z.ZodOptional<z.ZodString>;
        added_on: z.ZodOptional<z.ZodString>;
        user: z.ZodObject<{
            type: z.ZodLiteral<"user">;
            uuid: z.ZodString;
            nickname: z.ZodString;
            display_name: z.ZodString;
        }, z.core.$strip>;
        workspace: z.ZodType<{
            type: WorkspaceType;
            uuid: string;
            name: string;
            slug: string;
            is_private?: boolean;
            is_privacy_enforced?: boolean;
            forking_mode?: WorkspaceForkingMode;
            created_on?: string;
            updated_on?: string;
            links: WorkspaceLinks;
        }, unknown, z.core.$ZodTypeInternals<{
            type: WorkspaceType;
            uuid: string;
            name: string;
            slug: string;
            is_private?: boolean;
            is_privacy_enforced?: boolean;
            forking_mode?: WorkspaceForkingMode;
            created_on?: string;
            updated_on?: string;
            links: WorkspaceLinks;
        }, unknown>>;
    }, z.core.$strip>>;
}, z.core.$strip>;
export type WorkspacePermissionsResponse = z.infer<typeof WorkspacePermissionsResponseSchema>;
