import type { Db } from "@rudderhq/db";
import { organizations } from "@rudderhq/db";
export declare function organizationService(db: Db): {
    list: () => Promise<({
        id: string;
        urlKey: string;
        name: string;
        description: string | null;
        status: string;
        pauseReason: string | null;
        pausedAt: Date | null;
        issuePrefix: string;
        issueCounter: number;
        budgetMonthlyCents: number;
        spentMonthlyCents: number;
        requireBoardApprovalForNewAgents: boolean;
        defaultChatIssueCreationMode: string;
        brandColor: string | null;
        logoAssetId: string | null;
        createdAt: Date;
        updatedAt: Date;
    } & {
        spentMonthlyCents: number;
    } & {
        workspace: null;
        logoUrl: string | null;
    })[]>;
    getById: (id: string) => Promise<({
        id: string;
        urlKey: string;
        name: string;
        description: string | null;
        status: string;
        pauseReason: string | null;
        pausedAt: Date | null;
        issuePrefix: string;
        issueCounter: number;
        budgetMonthlyCents: number;
        spentMonthlyCents: number;
        requireBoardApprovalForNewAgents: boolean;
        defaultChatIssueCreationMode: string;
        brandColor: string | null;
        logoAssetId: string | null;
        createdAt: Date;
        updatedAt: Date;
    } & {
        spentMonthlyCents: number;
    } & {
        workspace: null;
        logoUrl: string | null;
    }) | null>;
    create: (data: typeof organizations.$inferInsert) => Promise<{
        id: string;
        urlKey: string;
        name: string;
        description: string | null;
        status: string;
        pauseReason: string | null;
        pausedAt: Date | null;
        issuePrefix: string;
        issueCounter: number;
        budgetMonthlyCents: number;
        spentMonthlyCents: number;
        requireBoardApprovalForNewAgents: boolean;
        defaultChatIssueCreationMode: string;
        brandColor: string | null;
        logoAssetId: string | null;
        createdAt: Date;
        updatedAt: Date;
    } & {
        spentMonthlyCents: number;
    } & {
        workspace: null;
        logoUrl: string | null;
    }>;
    update: (id: string, data: Partial<typeof organizations.$inferInsert> & {
        logoAssetId?: string | null;
    }) => Promise<({
        logoAssetId: string | null;
        id: string;
        urlKey: string;
        name: string;
        description: string | null;
        status: string;
        pauseReason: string | null;
        pausedAt: Date | null;
        issuePrefix: string;
        issueCounter: number;
        budgetMonthlyCents: number;
        spentMonthlyCents: number;
        requireBoardApprovalForNewAgents: boolean;
        defaultChatIssueCreationMode: string;
        workspaceConfig: Record<string, unknown> | null;
        brandColor: string | null;
        createdAt: Date;
        updatedAt: Date;
    } & {
        spentMonthlyCents: number;
    } & {
        workspace: null;
        logoUrl: string | null;
    }) | null>;
    archive: (id: string) => Promise<({
        id: string;
        urlKey: string;
        name: string;
        description: string | null;
        status: string;
        pauseReason: string | null;
        pausedAt: Date | null;
        issuePrefix: string;
        issueCounter: number;
        budgetMonthlyCents: number;
        spentMonthlyCents: number;
        requireBoardApprovalForNewAgents: boolean;
        defaultChatIssueCreationMode: string;
        brandColor: string | null;
        logoAssetId: string | null;
        createdAt: Date;
        updatedAt: Date;
    } & {
        spentMonthlyCents: number;
    } & {
        workspace: null;
        logoUrl: string | null;
    }) | null>;
    remove: (id: string) => Promise<{
        id: string;
        description: string | null;
        status: string;
        createdAt: Date;
        updatedAt: Date;
        name: string;
        brandColor: string | null;
        requireBoardApprovalForNewAgents: boolean;
        budgetMonthlyCents: number;
        urlKey: string;
        defaultChatIssueCreationMode: string;
        spentMonthlyCents: number;
        pauseReason: string | null;
        pausedAt: Date | null;
        issuePrefix: string;
        issueCounter: number;
        workspaceConfig: Record<string, unknown> | null;
    } | null>;
    stats: () => Promise<Record<string, {
        agentCount: number;
        issueCount: number;
    }>>;
};
//# sourceMappingURL=orgs.d.ts.map