import { z } from "zod";
export declare const WorkspaceSummary: z.ZodObject<{
    id: z.ZodNumber;
    orgId: z.ZodNumber;
    slug: z.ZodString;
    name: z.ZodString;
    iconUrl: z.ZodNullable<z.ZodString>;
    retentionDays: z.ZodNullable<z.ZodNumber>;
} & {
    role: z.ZodEnum<["owner", "admin", "member", "multi_channel_guest", "single_channel_guest", "bot"]>;
}, "strip", z.ZodTypeAny, {
    id: number;
    name: string;
    orgId: number;
    slug: string;
    iconUrl: string | null;
    retentionDays: number | null;
    role: "owner" | "admin" | "member" | "multi_channel_guest" | "single_channel_guest" | "bot";
}, {
    id: number;
    name: string;
    orgId: number;
    slug: string;
    iconUrl: string | null;
    retentionDays: number | null;
    role: "owner" | "admin" | "member" | "multi_channel_guest" | "single_channel_guest" | "bot";
}>;
export type WorkspaceSummary = z.infer<typeof WorkspaceSummary>;
export declare const MyWorkspacesResponse: z.ZodObject<{
    workspaces: z.ZodArray<z.ZodObject<{
        id: z.ZodNumber;
        orgId: z.ZodNumber;
        slug: z.ZodString;
        name: z.ZodString;
        iconUrl: z.ZodNullable<z.ZodString>;
        retentionDays: z.ZodNullable<z.ZodNumber>;
    } & {
        role: z.ZodEnum<["owner", "admin", "member", "multi_channel_guest", "single_channel_guest", "bot"]>;
    }, "strip", z.ZodTypeAny, {
        id: number;
        name: string;
        orgId: number;
        slug: string;
        iconUrl: string | null;
        retentionDays: number | null;
        role: "owner" | "admin" | "member" | "multi_channel_guest" | "single_channel_guest" | "bot";
    }, {
        id: number;
        name: string;
        orgId: number;
        slug: string;
        iconUrl: string | null;
        retentionDays: number | null;
        role: "owner" | "admin" | "member" | "multi_channel_guest" | "single_channel_guest" | "bot";
    }>, "many">;
}, "strip", z.ZodTypeAny, {
    workspaces: {
        id: number;
        name: string;
        orgId: number;
        slug: string;
        iconUrl: string | null;
        retentionDays: number | null;
        role: "owner" | "admin" | "member" | "multi_channel_guest" | "single_channel_guest" | "bot";
    }[];
}, {
    workspaces: {
        id: number;
        name: string;
        orgId: number;
        slug: string;
        iconUrl: string | null;
        retentionDays: number | null;
        role: "owner" | "admin" | "member" | "multi_channel_guest" | "single_channel_guest" | "bot";
    }[];
}>;
export declare const MemberWithUser: z.ZodObject<{
    member: z.ZodObject<{
        workspaceId: z.ZodNumber;
        userId: z.ZodNumber;
        role: z.ZodEnum<["owner", "admin", "member", "multi_channel_guest", "single_channel_guest", "bot"]>;
        displayName: z.ZodNullable<z.ZodString>;
        title: z.ZodNullable<z.ZodString>;
        statusText: z.ZodNullable<z.ZodString>;
        statusEmoji: z.ZodNullable<z.ZodString>;
        statusExpiresAt: z.ZodNullable<z.ZodString>;
        availabilityMode: z.ZodEnum<["auto", "away", "available"]>;
        dndEnabled: z.ZodBoolean;
        dndUntil: z.ZodNullable<z.ZodString>;
        joinedAt: z.ZodString;
        deactivatedAt: z.ZodNullable<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        title: string | null;
        workspaceId: number;
        userId: number;
        role: "owner" | "admin" | "member" | "multi_channel_guest" | "single_channel_guest" | "bot";
        displayName: string | null;
        statusText: string | null;
        statusEmoji: string | null;
        statusExpiresAt: string | null;
        availabilityMode: "auto" | "away" | "available";
        dndEnabled: boolean;
        dndUntil: string | null;
        joinedAt: string;
        deactivatedAt: string | null;
    }, {
        title: string | null;
        workspaceId: number;
        userId: number;
        role: "owner" | "admin" | "member" | "multi_channel_guest" | "single_channel_guest" | "bot";
        displayName: string | null;
        statusText: string | null;
        statusEmoji: string | null;
        statusExpiresAt: string | null;
        availabilityMode: "auto" | "away" | "available";
        dndEnabled: boolean;
        dndUntil: string | null;
        joinedAt: string;
        deactivatedAt: string | null;
    }>;
    user: z.ZodObject<{
        id: z.ZodNumber;
        email: z.ZodString;
        emailVerifiedAt: z.ZodNullable<z.ZodString>;
        name: z.ZodString;
        username: z.ZodString;
        avatarUrl: z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodString]>>;
        tz: z.ZodString;
        createdAt: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        id: number;
        email: string;
        emailVerifiedAt: string | null;
        name: string;
        username: string;
        avatarUrl: string | null;
        tz: string;
        createdAt: string;
    }, {
        id: number;
        email: string;
        emailVerifiedAt: string | null;
        name: string;
        username: string;
        avatarUrl: string | null;
        tz: string;
        createdAt: string;
    }>;
}, "strip", z.ZodTypeAny, {
    member: {
        title: string | null;
        workspaceId: number;
        userId: number;
        role: "owner" | "admin" | "member" | "multi_channel_guest" | "single_channel_guest" | "bot";
        displayName: string | null;
        statusText: string | null;
        statusEmoji: string | null;
        statusExpiresAt: string | null;
        availabilityMode: "auto" | "away" | "available";
        dndEnabled: boolean;
        dndUntil: string | null;
        joinedAt: string;
        deactivatedAt: string | null;
    };
    user: {
        id: number;
        email: string;
        emailVerifiedAt: string | null;
        name: string;
        username: string;
        avatarUrl: string | null;
        tz: string;
        createdAt: string;
    };
}, {
    member: {
        title: string | null;
        workspaceId: number;
        userId: number;
        role: "owner" | "admin" | "member" | "multi_channel_guest" | "single_channel_guest" | "bot";
        displayName: string | null;
        statusText: string | null;
        statusEmoji: string | null;
        statusExpiresAt: string | null;
        availabilityMode: "auto" | "away" | "available";
        dndEnabled: boolean;
        dndUntil: string | null;
        joinedAt: string;
        deactivatedAt: string | null;
    };
    user: {
        id: number;
        email: string;
        emailVerifiedAt: string | null;
        name: string;
        username: string;
        avatarUrl: string | null;
        tz: string;
        createdAt: string;
    };
}>;
export type MemberWithUser = z.infer<typeof MemberWithUser>;
export declare const MemberDirectoryResponse: z.ZodObject<{
    members: z.ZodArray<z.ZodObject<{
        member: z.ZodObject<{
            workspaceId: z.ZodNumber;
            userId: z.ZodNumber;
            role: z.ZodEnum<["owner", "admin", "member", "multi_channel_guest", "single_channel_guest", "bot"]>;
            displayName: z.ZodNullable<z.ZodString>;
            title: z.ZodNullable<z.ZodString>;
            statusText: z.ZodNullable<z.ZodString>;
            statusEmoji: z.ZodNullable<z.ZodString>;
            statusExpiresAt: z.ZodNullable<z.ZodString>;
            availabilityMode: z.ZodEnum<["auto", "away", "available"]>;
            dndEnabled: z.ZodBoolean;
            dndUntil: z.ZodNullable<z.ZodString>;
            joinedAt: z.ZodString;
            deactivatedAt: z.ZodNullable<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            title: string | null;
            workspaceId: number;
            userId: number;
            role: "owner" | "admin" | "member" | "multi_channel_guest" | "single_channel_guest" | "bot";
            displayName: string | null;
            statusText: string | null;
            statusEmoji: string | null;
            statusExpiresAt: string | null;
            availabilityMode: "auto" | "away" | "available";
            dndEnabled: boolean;
            dndUntil: string | null;
            joinedAt: string;
            deactivatedAt: string | null;
        }, {
            title: string | null;
            workspaceId: number;
            userId: number;
            role: "owner" | "admin" | "member" | "multi_channel_guest" | "single_channel_guest" | "bot";
            displayName: string | null;
            statusText: string | null;
            statusEmoji: string | null;
            statusExpiresAt: string | null;
            availabilityMode: "auto" | "away" | "available";
            dndEnabled: boolean;
            dndUntil: string | null;
            joinedAt: string;
            deactivatedAt: string | null;
        }>;
        user: z.ZodObject<{
            id: z.ZodNumber;
            email: z.ZodString;
            emailVerifiedAt: z.ZodNullable<z.ZodString>;
            name: z.ZodString;
            username: z.ZodString;
            avatarUrl: z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodString]>>;
            tz: z.ZodString;
            createdAt: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            id: number;
            email: string;
            emailVerifiedAt: string | null;
            name: string;
            username: string;
            avatarUrl: string | null;
            tz: string;
            createdAt: string;
        }, {
            id: number;
            email: string;
            emailVerifiedAt: string | null;
            name: string;
            username: string;
            avatarUrl: string | null;
            tz: string;
            createdAt: string;
        }>;
    }, "strip", z.ZodTypeAny, {
        member: {
            title: string | null;
            workspaceId: number;
            userId: number;
            role: "owner" | "admin" | "member" | "multi_channel_guest" | "single_channel_guest" | "bot";
            displayName: string | null;
            statusText: string | null;
            statusEmoji: string | null;
            statusExpiresAt: string | null;
            availabilityMode: "auto" | "away" | "available";
            dndEnabled: boolean;
            dndUntil: string | null;
            joinedAt: string;
            deactivatedAt: string | null;
        };
        user: {
            id: number;
            email: string;
            emailVerifiedAt: string | null;
            name: string;
            username: string;
            avatarUrl: string | null;
            tz: string;
            createdAt: string;
        };
    }, {
        member: {
            title: string | null;
            workspaceId: number;
            userId: number;
            role: "owner" | "admin" | "member" | "multi_channel_guest" | "single_channel_guest" | "bot";
            displayName: string | null;
            statusText: string | null;
            statusEmoji: string | null;
            statusExpiresAt: string | null;
            availabilityMode: "auto" | "away" | "available";
            dndEnabled: boolean;
            dndUntil: string | null;
            joinedAt: string;
            deactivatedAt: string | null;
        };
        user: {
            id: number;
            email: string;
            emailVerifiedAt: string | null;
            name: string;
            username: string;
            avatarUrl: string | null;
            tz: string;
            createdAt: string;
        };
    }>, "many">;
}, "strip", z.ZodTypeAny, {
    members: {
        member: {
            title: string | null;
            workspaceId: number;
            userId: number;
            role: "owner" | "admin" | "member" | "multi_channel_guest" | "single_channel_guest" | "bot";
            displayName: string | null;
            statusText: string | null;
            statusEmoji: string | null;
            statusExpiresAt: string | null;
            availabilityMode: "auto" | "away" | "available";
            dndEnabled: boolean;
            dndUntil: string | null;
            joinedAt: string;
            deactivatedAt: string | null;
        };
        user: {
            id: number;
            email: string;
            emailVerifiedAt: string | null;
            name: string;
            username: string;
            avatarUrl: string | null;
            tz: string;
            createdAt: string;
        };
    }[];
}, {
    members: {
        member: {
            title: string | null;
            workspaceId: number;
            userId: number;
            role: "owner" | "admin" | "member" | "multi_channel_guest" | "single_channel_guest" | "bot";
            displayName: string | null;
            statusText: string | null;
            statusEmoji: string | null;
            statusExpiresAt: string | null;
            availabilityMode: "auto" | "away" | "available";
            dndEnabled: boolean;
            dndUntil: string | null;
            joinedAt: string;
            deactivatedAt: string | null;
        };
        user: {
            id: number;
            email: string;
            emailVerifiedAt: string | null;
            name: string;
            username: string;
            avatarUrl: string | null;
            tz: string;
            createdAt: string;
        };
    }[];
}>;
export declare const CreateInviteRequest: z.ZodObject<{
    email: z.ZodString;
    role: z.ZodDefault<z.ZodEnum<["owner", "admin", "member", "multi_channel_guest", "single_channel_guest", "bot"]>>;
    expiresInHours: z.ZodDefault<z.ZodNumber>;
    maxUses: z.ZodDefault<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    email: string;
    role: "owner" | "admin" | "member" | "multi_channel_guest" | "single_channel_guest" | "bot";
    expiresInHours: number;
    maxUses: number;
}, {
    email: string;
    role?: "owner" | "admin" | "member" | "multi_channel_guest" | "single_channel_guest" | "bot" | undefined;
    expiresInHours?: number | undefined;
    maxUses?: number | undefined;
}>;
export type CreateInviteRequest = z.infer<typeof CreateInviteRequest>;
export declare const InviteResponse: z.ZodObject<{
    id: z.ZodNumber;
    token: z.ZodOptional<z.ZodString>;
    role: z.ZodEnum<["owner", "admin", "member", "multi_channel_guest", "single_channel_guest", "bot"]>;
    expiresAt: z.ZodString;
    maxUses: z.ZodNumber;
    userExists: z.ZodBoolean;
    notified: z.ZodBoolean;
    alreadyMember: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
    id: number;
    role: "owner" | "admin" | "member" | "multi_channel_guest" | "single_channel_guest" | "bot";
    maxUses: number;
    expiresAt: string;
    userExists: boolean;
    notified: boolean;
    token?: string | undefined;
    alreadyMember?: boolean | undefined;
}, {
    id: number;
    role: "owner" | "admin" | "member" | "multi_channel_guest" | "single_channel_guest" | "bot";
    maxUses: number;
    expiresAt: string;
    userExists: boolean;
    notified: boolean;
    token?: string | undefined;
    alreadyMember?: boolean | undefined;
}>;
export type InviteResponse = z.infer<typeof InviteResponse>;
export declare const AcceptInviteRequest: z.ZodObject<{
    token: z.ZodString;
}, "strip", z.ZodTypeAny, {
    token: string;
}, {
    token: string;
}>;
export declare const AcceptInviteByIdRequest: z.ZodObject<{
    inviteId: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
    inviteId: number;
}, {
    inviteId: number;
}>;
export declare const DeclineInviteByIdRequest: z.ZodObject<{
    inviteId: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
    inviteId: number;
}, {
    inviteId: number;
}>;
export declare const PendingInvite: z.ZodObject<{
    id: z.ZodNumber;
    workspaceId: z.ZodNumber;
    workspaceName: z.ZodString;
    workspaceSlug: z.ZodString;
    role: z.ZodEnum<["owner", "admin", "member", "multi_channel_guest", "single_channel_guest", "bot"]>;
    invitedByName: z.ZodNullable<z.ZodString>;
    expiresAt: z.ZodString;
    createdAt: z.ZodString;
}, "strip", z.ZodTypeAny, {
    id: number;
    createdAt: string;
    workspaceId: number;
    role: "owner" | "admin" | "member" | "multi_channel_guest" | "single_channel_guest" | "bot";
    expiresAt: string;
    workspaceName: string;
    workspaceSlug: string;
    invitedByName: string | null;
}, {
    id: number;
    createdAt: string;
    workspaceId: number;
    role: "owner" | "admin" | "member" | "multi_channel_guest" | "single_channel_guest" | "bot";
    expiresAt: string;
    workspaceName: string;
    workspaceSlug: string;
    invitedByName: string | null;
}>;
export type PendingInvite = z.infer<typeof PendingInvite>;
export declare const PendingInvitesResponse: z.ZodObject<{
    invites: z.ZodArray<z.ZodObject<{
        id: z.ZodNumber;
        workspaceId: z.ZodNumber;
        workspaceName: z.ZodString;
        workspaceSlug: z.ZodString;
        role: z.ZodEnum<["owner", "admin", "member", "multi_channel_guest", "single_channel_guest", "bot"]>;
        invitedByName: z.ZodNullable<z.ZodString>;
        expiresAt: z.ZodString;
        createdAt: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        id: number;
        createdAt: string;
        workspaceId: number;
        role: "owner" | "admin" | "member" | "multi_channel_guest" | "single_channel_guest" | "bot";
        expiresAt: string;
        workspaceName: string;
        workspaceSlug: string;
        invitedByName: string | null;
    }, {
        id: number;
        createdAt: string;
        workspaceId: number;
        role: "owner" | "admin" | "member" | "multi_channel_guest" | "single_channel_guest" | "bot";
        expiresAt: string;
        workspaceName: string;
        workspaceSlug: string;
        invitedByName: string | null;
    }>, "many">;
}, "strip", z.ZodTypeAny, {
    invites: {
        id: number;
        createdAt: string;
        workspaceId: number;
        role: "owner" | "admin" | "member" | "multi_channel_guest" | "single_channel_guest" | "bot";
        expiresAt: string;
        workspaceName: string;
        workspaceSlug: string;
        invitedByName: string | null;
    }[];
}, {
    invites: {
        id: number;
        createdAt: string;
        workspaceId: number;
        role: "owner" | "admin" | "member" | "multi_channel_guest" | "single_channel_guest" | "bot";
        expiresAt: string;
        workspaceName: string;
        workspaceSlug: string;
        invitedByName: string | null;
    }[];
}>;
export declare const AppNotification: z.ZodObject<{
    id: z.ZodNumber;
    type: z.ZodString;
    title: z.ZodString;
    body: z.ZodString;
    payload: z.ZodRecord<z.ZodString, z.ZodUnknown>;
    readAt: z.ZodNullable<z.ZodString>;
    createdAt: z.ZodString;
}, "strip", z.ZodTypeAny, {
    type: string;
    title: string;
    id: number;
    createdAt: string;
    payload: Record<string, unknown>;
    body: string;
    readAt: string | null;
}, {
    type: string;
    title: string;
    id: number;
    createdAt: string;
    payload: Record<string, unknown>;
    body: string;
    readAt: string | null;
}>;
export type AppNotification = z.infer<typeof AppNotification>;
export declare const NotificationsResponse: z.ZodObject<{
    notifications: z.ZodArray<z.ZodObject<{
        id: z.ZodNumber;
        type: z.ZodString;
        title: z.ZodString;
        body: z.ZodString;
        payload: z.ZodRecord<z.ZodString, z.ZodUnknown>;
        readAt: z.ZodNullable<z.ZodString>;
        createdAt: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        type: string;
        title: string;
        id: number;
        createdAt: string;
        payload: Record<string, unknown>;
        body: string;
        readAt: string | null;
    }, {
        type: string;
        title: string;
        id: number;
        createdAt: string;
        payload: Record<string, unknown>;
        body: string;
        readAt: string | null;
    }>, "many">;
}, "strip", z.ZodTypeAny, {
    notifications: {
        type: string;
        title: string;
        id: number;
        createdAt: string;
        payload: Record<string, unknown>;
        body: string;
        readAt: string | null;
    }[];
}, {
    notifications: {
        type: string;
        title: string;
        id: number;
        createdAt: string;
        payload: Record<string, unknown>;
        body: string;
        readAt: string | null;
    }[];
}>;
export declare const ChangeMemberRoleRequest: z.ZodObject<{
    role: z.ZodEnum<["owner", "admin", "member", "multi_channel_guest", "single_channel_guest", "bot"]>;
}, "strip", z.ZodTypeAny, {
    role: "owner" | "admin" | "member" | "multi_channel_guest" | "single_channel_guest" | "bot";
}, {
    role: "owner" | "admin" | "member" | "multi_channel_guest" | "single_channel_guest" | "bot";
}>;
export declare const TransferOwnershipRequest: z.ZodObject<{
    newOwnerUserId: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
    newOwnerUserId: number;
}, {
    newOwnerUserId: number;
}>;
export declare const UpdateWorkspaceSettingsRequest: z.ZodObject<{
    name: z.ZodOptional<z.ZodString>;
    retentionDays: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
}, "strip", z.ZodTypeAny, {
    name?: string | undefined;
    retentionDays?: number | null | undefined;
}, {
    name?: string | undefined;
    retentionDays?: number | null | undefined;
}>;
export declare const SetStatusRequest: z.ZodObject<{
    text: z.ZodString;
    emoji: z.ZodDefault<z.ZodOptional<z.ZodString>>;
    expiresAt: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
    pauseNotifications: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
}, "strip", z.ZodTypeAny, {
    text: string;
    emoji: string;
    expiresAt: string | null;
    pauseNotifications: boolean;
}, {
    text: string;
    emoji?: string | undefined;
    expiresAt?: string | null | undefined;
    pauseNotifications?: boolean | undefined;
}>;
export type SetStatusRequest = z.infer<typeof SetStatusRequest>;
export declare const SetAvailabilityRequest: z.ZodObject<{
    mode: z.ZodEnum<["auto", "away", "available"]>;
}, "strip", z.ZodTypeAny, {
    mode: "auto" | "away" | "available";
}, {
    mode: "auto" | "away" | "available";
}>;
export declare const SetStatusContextRequest: z.ZodObject<{
    focusModeEnabled: z.ZodOptional<z.ZodBoolean>;
    inConnect: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
    focusModeEnabled?: boolean | undefined;
    inConnect?: boolean | undefined;
}, {
    focusModeEnabled?: boolean | undefined;
    inConnect?: boolean | undefined;
}>;
export declare const UpdateAutomaticStatusPreferencesRequest: z.ZodObject<{
    connect: z.ZodBoolean;
    focus: z.ZodBoolean;
    outsideWorkingHours: z.ZodBoolean;
    workHoursStart: z.ZodString;
    workHoursEnd: z.ZodString;
    workingDays: z.ZodArray<z.ZodNumber, "many">;
}, "strip", z.ZodTypeAny, {
    connect: boolean;
    focus: boolean;
    outsideWorkingHours: boolean;
    workHoursStart: string;
    workHoursEnd: string;
    workingDays: number[];
}, {
    connect: boolean;
    focus: boolean;
    outsideWorkingHours: boolean;
    workHoursStart: string;
    workHoursEnd: string;
    workingDays: number[];
}>;
export type UpdateAutomaticStatusPreferencesRequest = z.infer<typeof UpdateAutomaticStatusPreferencesRequest>;
export declare const CreateScheduledStatusRequest: z.ZodObject<{
    text: z.ZodString;
    emoji: z.ZodDefault<z.ZodString>;
    startsAt: z.ZodString;
    endsAt: z.ZodString;
    pauseNotifications: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
}, "strip", z.ZodTypeAny, {
    text: string;
    emoji: string;
    startsAt: string;
    endsAt: string;
    pauseNotifications: boolean;
}, {
    text: string;
    startsAt: string;
    endsAt: string;
    emoji?: string | undefined;
    pauseNotifications?: boolean | undefined;
}>;
export type CreateScheduledStatusRequest = z.infer<typeof CreateScheduledStatusRequest>;
//# sourceMappingURL=workspaces.d.ts.map