@devercorp/pickgola-sdk
    Preparing search index...

    Function getMe

    • 로그인 상태면 계정을, 아니면 null을 돌려줍니다.

      Parameters

      • client: {
            admin: {
                account: (
                    accountId: string,
                ) => Promise<
                    {
                        admin: { role: "owner" | "operator" }
                        | null;
                        avatarUrl: string | null;
                        createdAt: string;
                        email: string;
                        emailVerified: boolean;
                        emailVerifiedAt: string | null;
                        id: string;
                        name: string;
                        payments: {
                            amount: number;
                            createdAt: string;
                            description: string;
                            id: string;
                            paidAt: string | null;
                            provider: string;
                            purpose:
                                | "day_event_fee"
                                | "day_casting_fee"
                                | "studio_order"
                                | "studio_credit";
                            refId: string
                            | null;
                            refType: string | null;
                            refundedAmount: number;
                            service: "day" | "studio";
                            status: "pending" | "paid" | "failed" | "refunded";
                            vat: number;
                        }[];
                        profiles: {
                            role: "user"
                            | "influencer"
                            | "venue"
                            | "advertiser"
                            | "creator";
                            service: "day" | "studio";
                        }[];
                        reportsAgainst: number;
                        sessions: {
                            createdAt: string;
                            expiresAt: string;
                            id: string;
                            ip: string;
                            userAgent: string
                            | null;
                        }[];
                        status: "active"
                        | "suspended"
                        | "withdrawn";
                    },
                >;
                admins: () => Promise<
                    {
                        accountId: string;
                        createdAt: string;
                        email: string;
                        name: string;
                        role: "owner"
                        | "operator";
                    }[],
                >;
                auditLogs: (
                    params?: {
                        group?:
                            | "asset"
                            | "auth"
                            | "consent"
                            | "state"
                            | "money"
                            | "moderation";
                        page?: number;
                        pageSize?: number;
                        q?: string;
                        service?: "day"
                        | "studio";
                    },
                ) => Promise<
                    {
                        items: {
                            actorId: string
                            | null;
                            actorName: string;
                            change: string;
                            createdAt: string;
                            event: string;
                            group: string;
                            id: string;
                            ip: string;
                            role: string;
                            service: "day" | "studio" | null;
                            target: string;
                        }[];
                        page: number;
                        pageSize: number;
                        total: number;
                    },
                >;
                day: {
                    content: (
                        kind: "place" | "event" | "casting",
                        params?: {
                            page?: number;
                            pageSize?: number;
                            q?: string;
                            visibility?: "all" | "hidden" | "visible";
                        },
                    ) => Promise<
                        {
                            items: {
                                createdAt: string;
                                date: string
                                | null;
                                hiddenAt: string | null;
                                id: string;
                                kind: "place" | "event" | "casting";
                                openReports: number;
                                ownerId: string;
                                ownerName: string;
                                placeName: string | null;
                                status: string;
                                title: string;
                            }[];
                            page: number;
                            pageSize: number;
                            total: number;
                        },
                    >;
                    reports: (
                        params?: {
                            page?: number;
                            pageSize?: number;
                            status?: "open" | "resolved" | "dismissed";
                            targetType?: "user" | "place" | "event" | "casting";
                        },
                    ) => Promise<
                        {
                            items: {
                                createdAt: string;
                                id: string;
                                reason: string;
                                reporterId: string;
                                reporterName: string;
                                resolution: string
                                | null;
                                resolvedAt: string | null;
                                status: "open" | "resolved" | "dismissed";
                                targetHidden: boolean;
                                targetId: string;
                                targetLabel: string;
                                targetType: "user" | "place" | "event" | "casting";
                            }[];
                            page: number;
                            pageSize: number;
                            total: number;
                        },
                    >;
                    resolveReport: (
                        reportId: string,
                        input: {
                            resolution: string;
                            status: "resolved" | "dismissed";
                            takeAction?: boolean;
                        },
                    ) => Promise<
                        {
                            createdAt: string;
                            id: string;
                            reason: string;
                            reporterId: string;
                            reporterName: string;
                            resolution: string
                            | null;
                            resolvedAt: string | null;
                            status: "open" | "resolved" | "dismissed";
                            targetHidden: boolean;
                            targetId: string;
                            targetLabel: string;
                            targetType: "user" | "place" | "event" | "casting";
                        },
                    >;
                    setVisibility: (
                        kind: "place" | "event" | "casting",
                        targetId: string,
                        input: { hidden: boolean; reason: string },
                    ) => Promise<{ hidden: boolean }>;
                };
                grantAdmin: (
                    input: { email: string; role: "owner" | "operator" },
                ) => Promise<
                    {
                        accountId: string;
                        createdAt: string;
                        email: string;
                        name: string;
                        role: "owner"
                        | "operator";
                    }[],
                >;
                listAccounts: (
                    params?: {
                        page?: number;
                        pageSize?: number;
                        q?: string;
                        service?: "day" | "studio";
                        status?: "active" | "suspended" | "withdrawn";
                    },
                ) => Promise<
                    {
                        items: {
                            admin: { role: "owner" | "operator" }
                            | null;
                            createdAt: string;
                            email: string;
                            emailVerified: boolean;
                            id: string;
                            name: string;
                            profiles: {
                                role: "user" | "influencer" | "venue" | "advertiser" | "creator";
                                service: "day" | "studio";
                            }[];
                            status: "active"
                            | "suspended"
                            | "withdrawn";
                        }[];
                        page: number;
                        pageSize: number;
                        total: number;
                    },
                >;
                me: () => Promise<
                    { accountId: string; name: string; role: "owner"
                    | "operator" },
                >;
                notifications: () => Promise<
                    {
                        createdAt: string;
                        href: string;
                        id: string;
                        service: "day"
                        | "studio"
                        | null;
                        text: string;
                    }[],
                >;
                overview: () => Promise<
                    {
                        accounts: number;
                        dayOpenCastings: number;
                        dayOpenEvents: number;
                        dayPlaces: number;
                        newAccounts7d: number;
                        openReports: number;
                        refunds30d: number;
                        revenue30d: number;
                        studioActiveCampaigns: number;
                        studioFailedJobs: number;
                        studioPendingReviews: number;
                        suspendedAccounts: number;
                    },
                >;
                payments: (
                    params?: {
                        page?: number;
                        pageSize?: number;
                        purpose?:
                            | "day_event_fee"
                            | "day_casting_fee"
                            | "studio_order"
                            | "studio_credit";
                        q?: string;
                        service?: "day"
                        | "studio";
                        status?: "pending" | "paid" | "failed" | "refunded";
                    },
                ) => Promise<
                    {
                        items: {
                            accountEmail: string;
                            accountId: string;
                            accountName: string;
                            amount: number;
                            createdAt: string;
                            description: string;
                            id: string;
                            paidAt: string
                            | null;
                            provider: string;
                            purpose:
                                | "day_event_fee"
                                | "day_casting_fee"
                                | "studio_order"
                                | "studio_credit";
                            refId: string
                            | null;
                            refType: string | null;
                            refundedAmount: number;
                            service: "day" | "studio";
                            status: "pending" | "paid" | "failed" | "refunded";
                            vat: number;
                        }[];
                        page: number;
                        pageSize: number;
                        total: number;
                    },
                >;
                refundPayment: (
                    paymentId: string,
                    input: { amount?: number; reason: string },
                ) => Promise<
                    {
                        accountEmail: string;
                        accountId: string;
                        accountName: string;
                        amount: number;
                        createdAt: string;
                        description: string;
                        id: string;
                        paidAt: string
                        | null;
                        provider: string;
                        purpose:
                            | "day_event_fee"
                            | "day_casting_fee"
                            | "studio_order"
                            | "studio_credit";
                        refId: string
                        | null;
                        refType: string | null;
                        refundedAmount: number;
                        service: "day" | "studio";
                        status: "pending" | "paid" | "failed" | "refunded";
                        vat: number;
                    },
                >;
                revokeAdmin: (
                    accountId: string,
                ) => Promise<
                    {
                        accountId: string;
                        createdAt: string;
                        email: string;
                        name: string;
                        role: "owner"
                        | "operator";
                    }[],
                >;
                revokeSessions: (accountId: string) => Promise<void>;
                setAccountStatus: (
                    accountId: string,
                    input: { reason: string; status: "active" | "suspended" },
                ) => Promise<
                    {
                        admin: { role: "owner" | "operator" }
                        | null;
                        createdAt: string;
                        email: string;
                        emailVerified: boolean;
                        id: string;
                        name: string;
                        profiles: {
                            role: "user" | "influencer" | "venue" | "advertiser" | "creator";
                            service: "day" | "studio";
                        }[];
                        status: "active"
                        | "suspended"
                        | "withdrawn";
                    },
                >;
                stats: (
                    params?: { days?: number },
                ) => Promise<
                    {
                        daily: {
                            applications: number;
                            date: string;
                            orders: number;
                            revenue: number;
                            signups: number;
                        }[];
                        days: number;
                        purposes: { amount: number; count: number; purpose: string }[];
                        roles: { count: number; role: string; service: "day" | "studio" }[];
                        stages: { count: number; label: string; stage: string }[];
                    },
                >;
                studio: {
                    adjustCredits: (
                        orgId: string,
                        input: { delta: number; reason: string },
                    ) => Promise<{ balance: number }>;
                    advancePrivacy: (
                        requestId: string,
                    ) => Promise<{ ok: boolean; status: "done" | "processing" | "notified" }>;
                    assets: (
                        params?: {
                            kind?: string;
                            page?: number;
                            pageSize?: number;
                            q?: string;
                            status?: string;
                        },
                    ) => Promise<
                        {
                            items: {
                                boardAt: string
                                | null;
                                boardStatus: "pending" | "failed" | "ready" | "none";
                                consent:
                                    | {
                                        doc: string;
                                        end: string;
                                        issueResolved: (...)
                                        | (...);
                                        media: (...)[];
                                        paid: boolean;
                                        portfolio: boolean;
                                        purpose: string;
                                        region: string;
                                        revokedAt: (...) | (...);
                                        revokeReason: (...) | (...);
                                        secondary: boolean;
                                        showcase: boolean;
                                        signedAt: string;
                                        start: string;
                                        status: (...) | (...) | (...) | (...);
                                    }
                                    | null;
                                creatorHandle: string;
                                creatorId: string;
                                creatorName: string;
                                desc: string;
                                destroyAt: string
                                | null;
                                hasFile: boolean;
                                id: string;
                                kind: "face" | "voice" | "ref";
                                label: string;
                                replaced: boolean;
                                review: "pending" | "rejected" | "approved" | "needs";
                                uploadedAt: string;
                                version: number;
                            }[];
                            page: number;
                            pageSize: number;
                            total: number;
                        },
                    >;
                    campaign: (
                        campaignId: string,
                    ) => Promise<
                        {
                            brief: {
                                ban: string;
                                channels: string[];
                                cta: string;
                                disclosure: string;
                                goal: string;
                                length: number;
                                message: string;
                                mustSay: string;
                                scene: string;
                                target: string;
                                tone: string;
                            };
                            cancelReason: string
                            | null;
                            code: string;
                            createdAt: string;
                            creator:
                                | {
                                    category: string;
                                    color: string;
                                    engagement: number;
                                    followers: number;
                                    handle: string;
                                    id: string;
                                    name: string;
                                    photoUrl: string
                                    | null;
                                    verified: boolean;
                                }
                                | null;
                            emoji: string;
                            id: string;
                            imageUrl: string
                            | null;
                            jobs: {
                                attempts: number;
                                createdAt: string;
                                credits: number;
                                error: string | null;
                                finishedAt: string | null;
                                id: string;
                                kind: "storyboard" | "revision" | "sample" | "final";
                                maxAttempts: number;
                                provider: string;
                                status:
                                    | "failed"
                                    | "done"
                                    | "queued"
                                    | "running"
                                    | "retry"
                                    | "blocked"
                                    | "cancelled";
                            }[];
                            name: string;
                            offer: | {
                                assets: string[];
                                blocker: string
                                | null;
                                channel: string;
                                creatorId: string;
                                expiresAt: string;
                                format: string;
                                id: string;
                                keep: string;
                                media: string[];
                                message: string;
                                portfolio: boolean;
                                postDate: string;
                                region: string;
                                rejectReason: string | null;
                                respondedAt: string | null;
                                rightsEnd: string;
                                rightsStart: string;
                                sentAt: string;
                                status: "withdrawn" | "sent" | "accepted" | "rejected" | "expired";
                                thread: {
                                    at: string;
                                    by: (...) | (...) | (...) | (...);
                                    name: string;
                                    tag?: (...) | (...);
                                    text: string;
                                }[];
                            }
                            | null;
                            order: | {
                                blocked: string
                                | null;
                                comments: {
                                    at: string;
                                    by: (...) | (...) | (...) | (...);
                                    name: string;
                                    tag?: (...) | (...);
                                    text: string;
                                }[];
                                confirmedAt: string;
                                creatorMetricsDone: boolean;
                                id: string;
                                metrics: {
                                    at: string;
                                    by: string;
                                    id: string;
                                    name: string;
                                    period: string;
                                    source: (...)
                                    | (...)
                                    | (...);
                                    value: number;
                                    verified: boolean;
                                }[];
                                outputUrl: string
                                | null;
                                paidAt: string | null;
                                payoutStatus: "paid" | "progress" | "scheduled" | "hold";
                                proof:
                                    | { at: string; captures: number; url: string; verified: boolean }
                                    | null;
                                qa: string;
                                revisionsLeft: number;
                                usesVoice: boolean;
                                version: number;
                            }
                            | null;
                            orgId: string;
                            orgName: string;
                            pastOffers: {
                                at: string;
                                creatorId: string;
                                creatorName: string;
                                id: string;
                                note: string;
                                status: "withdrawn"
                                | "rejected"
                                | "expired";
                            }[];
                            payout: number
                            | null;
                            price: number | null;
                            productId: string;
                            stage:
                                | "done"
                                | "accepted"
                                | "storyboard"
                                | "cancelled"
                                | "matching"
                                | "offer"
                                | "producing"
                                | "creator_review"
                                | "advertiser_review"
                                | "approved"
                                | "published";
                            stageLabel: string;
                            storyboard: {
                                approved: | { at: string; by: string; no: number; version: number }
                                | null;
                                batch: number;
                                history: {
                                    at: string;
                                    by: string;
                                    detail: string;
                                    title: string;
                                    tone?: "done" | "warn";
                                }[];
                                notes: string[];
                                options: {
                                    cta: string;
                                    exposure: string;
                                    no: number;
                                    qa: { ok: boolean; text: string };
                                    scenes: { exposure?: ...; line: ...; time: ...; visual: ... }[];
                                    summary: string;
                                    title: string;
                                    version: number;
                                }[];
                                regenerationsLeft: number;
                                sample: "generating"
                                | "ready"
                                | "none";
                                sampleAudioUrl: string | null;
                                sampleUrl: string | null;
                                selected: number;
                                status: "failed" | "generating" | "ready";
                                versions: number[];
                            };
                            type: "AI"
                            | "Direct";
                            updatedAt: string;
                        },
                    >;
                    campaigns: (
                        params?: {
                            kind?: string;
                            page?: number;
                            pageSize?: number;
                            q?: string;
                            status?: string;
                        },
                    ) => Promise<
                        {
                            items: {
                                brief: {
                                    ban: string;
                                    channels: string[];
                                    cta: string;
                                    disclosure: string;
                                    goal: string;
                                    length: number;
                                    message: string;
                                    mustSay: string;
                                    scene: string;
                                    target: string;
                                    tone: string;
                                };
                                cancelReason: string
                                | null;
                                code: string;
                                createdAt: string;
                                creator:
                                    | {
                                        category: string;
                                        color: string;
                                        engagement: number;
                                        followers: number;
                                        handle: string;
                                        id: string;
                                        name: string;
                                        photoUrl: (...)
                                        | (...);
                                        verified: boolean;
                                    }
                                    | null;
                                emoji: string;
                                id: string;
                                imageUrl: string
                                | null;
                                jobs: {
                                    attempts: number;
                                    createdAt: string;
                                    credits: number;
                                    error: (...) | (...);
                                    finishedAt: (...) | (...);
                                    id: string;
                                    kind: (...) | (...) | (...) | (...);
                                    maxAttempts: number;
                                    provider: string;
                                    status: (...) | (...) | (...) | (...) | (...) | (...) | (...);
                                }[];
                                name: string;
                                offer: | {
                                    assets: (...)[];
                                    blocker: (...) | (...);
                                    channel: string;
                                    creatorId: string;
                                    expiresAt: string;
                                    format: string;
                                    id: string;
                                    keep: string;
                                    media: (...)[];
                                    message: string;
                                    portfolio: boolean;
                                    postDate: string;
                                    region: string;
                                    rejectReason: (...) | (...);
                                    respondedAt: (...) | (...);
                                    rightsEnd: string;
                                    rightsStart: string;
                                    sentAt: string;
                                    status: (...) | (...) | (...) | (...) | (...);
                                    thread: (...)[];
                                }
                                | null;
                                order: | {
                                    blocked: (...)
                                    | (...);
                                    comments: (...)[];
                                    confirmedAt: string;
                                    creatorMetricsDone: boolean;
                                    id: string;
                                    metrics: (...)[];
                                    outputUrl: (...) | (...);
                                    paidAt: (...) | (...);
                                    payoutStatus: (...) | (...) | (...) | (...);
                                    proof: (...) | (...);
                                    qa: string;
                                    revisionsLeft: number;
                                    usesVoice: boolean;
                                    version: number;
                                }
                                | null;
                                orgId: string;
                                orgName: string;
                                pastOffers: {
                                    at: string;
                                    creatorId: string;
                                    creatorName: string;
                                    id: string;
                                    note: string;
                                    status: (...)
                                    | (...)
                                    | (...);
                                }[];
                                payout: number
                                | null;
                                price: number | null;
                                productId: string;
                                stage:
                                    | "done"
                                    | "accepted"
                                    | "storyboard"
                                    | "cancelled"
                                    | "matching"
                                    | "offer"
                                    | "producing"
                                    | "creator_review"
                                    | "advertiser_review"
                                    | "approved"
                                    | "published";
                                stageLabel: string;
                                storyboard: {
                                    approved: { at: ...; by: ...; no: ...; version: ... }
                                    | null;
                                    batch: number;
                                    history: { at: ...; by: ...; detail: ...; title: ...; tone?: ... }[];
                                    notes: string[];
                                    options: {
                                        cta: ...;
                                        exposure: ...;
                                        no: ...;
                                        qa: ...;
                                        scenes: ...;
                                        summary: ...;
                                        title: ...;
                                        version: ...;
                                    }[];
                                    regenerationsLeft: number;
                                    sample: "generating"
                                    | "ready"
                                    | "none";
                                    sampleAudioUrl: string | null;
                                    sampleUrl: string | null;
                                    selected: number;
                                    status: "failed" | "generating" | "ready";
                                    versions: number[];
                                };
                                type: "AI"
                                | "Direct";
                                updatedAt: string;
                            }[];
                            page: number;
                            pageSize: number;
                            total: number;
                        },
                    >;
                    cancelJob: (jobId: string) => Promise<{ ok: boolean }>;
                    content: (
                        params?: {
                            kind?: string;
                            page?: number;
                            pageSize?: number;
                            q?: string;
                            status?: string;
                        },
                    ) => Promise<
                        {
                            items: {
                                auto: { ok: boolean
                                | null; text: string };
                                campaign: string;
                                campaignId: string | null;
                                createdAt: string;
                                id: string;
                                kind: "brief" | "story" | "output";
                                memo: string | null;
                                reason: string;
                                status: "rejected" | "blocked" | "check" | "passed" | "requested";
                                target: string;
                            }[];
                            page: number;
                            pageSize: number;
                            total: number;
                        },
                    >;
                    creators: (
                        params?: {
                            kind?: string;
                            page?: number;
                            pageSize?: number;
                            q?: string;
                            status?: string;
                        },
                    ) => Promise<
                        {
                            items: {
                                aiFee: number
                                | null;
                                aiOn: boolean;
                                aiPrice: number | null;
                                available: "now" | "later" | "busy";
                                availableFlag: boolean;
                                availableFrom: string | null;
                                availableText: string;
                                bio: string;
                                cadence: string;
                                categories: string[];
                                category: string;
                                channels: string[];
                                color: string;
                                dataSource: string;
                                directFee: number | null;
                                directOn: boolean;
                                directPrice: number | null;
                                engagement: number;
                                excluded: string[];
                                followers: number;
                                handle: string;
                                id: string;
                                keep: string;
                                langs: string[];
                                lead: string;
                                monthCap: number;
                                name: string;
                                payoutAccount: { bank: string; holder: string; number: string } | null;
                                photoUrl: string | null;
                                review: "pending" | "rejected" | "approved" | "needs";
                                verified: boolean;
                            }[];
                            page: number;
                            pageSize: number;
                            total: number;
                        },
                    >;
                    decideAsset: (
                        assetId: string,
                        input: { approve: boolean; memo?: string },
                    ) => Promise<{ ok: boolean }>;
                    decideContent: (
                        contentId: string,
                        input: { memo?: string; status: "rejected" | "passed" | "requested" },
                    ) => Promise<{ ok: boolean }>;
                    decideRefund: (
                        refundId: string,
                        input: { amount: number; approve: boolean; memo?: string },
                    ) => Promise<{ ok: boolean }>;
                    decideReview: (
                        reviewId: string,
                        input: { memo?: string; result: "rejected" | "approved" | "needs" },
                    ) => Promise<{ ok: boolean }>;
                    disputes: (
                        params?: {
                            kind?: string;
                            page?: number;
                            pageSize?: number;
                            q?: string;
                            status?: string;
                        },
                    ) => Promise<
                        {
                            items: {
                                campaign: string;
                                campaignId: string;
                                createdAt: string;
                                id: string;
                                orderId: string;
                                reporter: string;
                                resolution: string
                                | null;
                                status: "open" | "resolved";
                                thread: {
                                    at: string;
                                    by: (...) | (...) | (...) | (...);
                                    name: string;
                                    tag?: (...) | (...);
                                    text: string;
                                }[];
                                title: string;
                            }[];
                            page: number;
                            pageSize: number;
                            total: number;
                        },
                    >;
                    issueAssetUrl: (
                        assetId: string,
                        board?: boolean,
                    ) => Promise<{ expiresInMinutes: number; url: string }>;
                    jobs: (
                        params?: {
                            kind?: string;
                            page?: number;
                            pageSize?: number;
                            q?: string;
                            status?: string;
                        },
                    ) => Promise<
                        {
                            cost30d: number;
                            count30d: number;
                            items: {
                                attempts: number;
                                campaign: string;
                                campaignId: string
                                | null;
                                cost: number | null;
                                createdAt: string;
                                credits: number;
                                error: string | null;
                                finishedAt: string | null;
                                id: string;
                                kind: "storyboard" | "revision" | "sample" | "final" | "board";
                                maxAttempts: number;
                                provider: string;
                                startedAt: string | null;
                                status:
                                    | "failed"
                                    | "done"
                                    | "queued"
                                    | "running"
                                    | "retry"
                                    | "blocked"
                                    | "cancelled";
                                target: string;
                                template: string;
                            }[];
                            page: number;
                            pageSize: number;
                            total: number;
                        },
                    >;
                    markPaid: (orderId: string) => Promise<{ ok: boolean }>;
                    orgs: (
                        params?: {
                            kind?: string;
                            page?: number;
                            pageSize?: number;
                            q?: string;
                            status?: string;
                        },
                    ) => Promise<
                        {
                            items: {
                                bizNumber: string;
                                campaigns: number;
                                createdAt: string;
                                credits: number;
                                email: string;
                                id: string;
                                members: number;
                                name: string;
                                review: "pending"
                                | "rejected"
                                | "approved"
                                | "needs";
                            }[];
                            page: number;
                            pageSize: number;
                            total: number;
                        },
                    >;
                    payouts: (
                        params?: {
                            kind?: string;
                            page?: number;
                            pageSize?: number;
                            q?: string;
                            status?: string;
                        },
                    ) => Promise<
                        {
                            items: {
                                amount: number;
                                blocked: string
                                | null;
                                campaign: string;
                                campaignId: string;
                                creatorName: string;
                                metricsDone: boolean;
                                net: number;
                                orderId: string;
                                orgName: string;
                                paidAt: string | null;
                                payoutAccount: { bank: string; holder: string; number: string } | null;
                                price: number;
                                stage: string;
                                status: "paid" | "progress" | "scheduled" | "hold";
                                tax: number;
                            }[];
                            page: number;
                            pageSize: number;
                            total: number;
                        },
                    >;
                    pricing: () => Promise<
                        {
                            aiFee: number;
                            autoApproveDays: number;
                            cap: number;
                            commission: number;
                            credits: {
                                extraRevision?: number;
                                revision?: number;
                                sample?: number;
                                storyboard?: number;
                                unit?: number;
                            };
                            history: {
                                at: string;
                                by: string;
                                detail: string;
                                title: string;
                                tone?: "done"
                                | "warn";
                            }[];
                            offerDays: number;
                            opsFee: number;
                            retry: number;
                            revisions: number;
                            rightsDays: number;
                            rightsFee: number;
                            rounding: number;
                            samples: number;
                            urlMinutes: number;
                            version: number;
                            withholding: number;
                        },
                    >;
                    privacy: (
                        params?: {
                            kind?: string;
                            page?: number;
                            pageSize?: number;
                            q?: string;
                            status?: string;
                        },
                    ) => Promise<
                        {
                            items: {
                                accountId: string
                                | null;
                                createdAt: string;
                                id: string;
                                kind: "delete" | "revoke" | "destroyed";
                                rows: string[][];
                                service: "day" | "studio" | null;
                                status: "pending" | "done" | "processing" | "notified";
                                sub: string;
                                title: string;
                                updatedAt: string;
                            }[];
                            page: number;
                            pageSize: number;
                            total: number;
                        },
                    >;
                    refunds: (
                        params?: {
                            kind?: string;
                            page?: number;
                            pageSize?: number;
                            q?: string;
                            status?: string;
                        },
                    ) => Promise<
                        {
                            items: {
                                amount: number;
                                campaignId: string
                                | null;
                                decidedAt: string | null;
                                id: string;
                                max: number;
                                memo: string | null;
                                orgId: string;
                                orgName: string;
                                paymentId: string | null;
                                reason: string;
                                requestedAt: string;
                                status: "pending" | "rejected" | "approved";
                                target: string;
                            }[];
                            page: number;
                            pageSize: number;
                            total: number;
                        },
                    >;
                    regenerateBoard: (assetId: string) => Promise<{ ok: boolean }>;
                    remindConsent: (assetId: string) => Promise<{ ok: boolean }>;
                    replyDispute: (
                        disputeId: string,
                        text: string,
                    ) => Promise<{ ok: boolean }>;
                    resolveConsentIssue: (
                        assetId: string,
                        input: { memo: string; resolution: "novoice" | "cancel" | "reconsent" },
                    ) => Promise<{ affected: number }>;
                    resolveDispute: (
                        disputeId: string,
                        resolution: string,
                    ) => Promise<{ ok: boolean }>;
                    retryJob: (jobId: string) => Promise<{ ok: boolean }>;
                    reviews: (
                        params?: {
                            kind?: string;
                            page?: number;
                            pageSize?: number;
                            q?: string;
                            status?: string;
                        },
                    ) => Promise<
                        {
                            items: {
                                auto: { ok: boolean
                                | null; text: string };
                                content: string;
                                createdAt: string;
                                decidedAt: string | null;
                                id: string;
                                kind: "creator" | "org" | "metric";
                                memo: string | null;
                                refId: string | null;
                                snapshotIds: string[];
                                status: "pending" | "rejected" | "approved" | "needs";
                                sub: string;
                                title: string;
                            }[];
                            page: number;
                            pageSize: number;
                            total: number;
                        },
                    >;
                    savePricing: (
                        input: {
                            aiFee: number;
                            autoApproveDays: number;
                            cap: number;
                            commission: number;
                            credits: {
                                extraRevision: number;
                                revision: number;
                                sample: number;
                                storyboard: number;
                                unit: number;
                            };
                            offerDays: number;
                            opsFee: number;
                            retry: number;
                            revisions: number;
                            rightsDays: number;
                            rightsFee: number;
                            rounding: number;
                            samples: number;
                            summary: string;
                            urlMinutes: number;
                            withholding: number;
                        },
                    ) => Promise<
                        {
                            aiFee: number;
                            autoApproveDays: number;
                            cap: number;
                            commission: number;
                            credits: {
                                extraRevision?: number;
                                revision?: number;
                                sample?: number;
                                storyboard?: number;
                                unit?: number;
                            };
                            history: {
                                at: string;
                                by: string;
                                detail: string;
                                title: string;
                                tone?: "done"
                                | "warn";
                            }[];
                            offerDays: number;
                            opsFee: number;
                            retry: number;
                            revisions: number;
                            rightsDays: number;
                            rightsFee: number;
                            rounding: number;
                            samples: number;
                            urlMinutes: number;
                            version: number;
                            withholding: number;
                        },
                    >;
                    setPayoutHold: (
                        orderId: string,
                        input: { hold: boolean; reason: string },
                    ) => Promise<{ ok: boolean }>;
                    suspendConsent: (
                        assetId: string,
                        reason: string,
                    ) => Promise<{ ok: boolean }>;
                };
            };
            auth: {
                forgotPassword: (email: string) => Promise<void>;
                login: (
                    input: { email: string; password: string },
                ) => Promise<
                    {
                        account: {
                            admin: { role: "owner" | "operator" }
                            | null;
                            createdAt: string;
                            email: string;
                            emailVerified: boolean;
                            id: string;
                            name: string;
                            profiles: {
                                role: "user" | "influencer" | "venue" | "advertiser" | "creator";
                                service: "day" | "studio";
                            }[];
                            status: "active"
                            | "suspended"
                            | "withdrawn";
                        };
                    },
                >;
                logout: () => Promise<void>;
                me: () => Promise<
                    {
                        admin: { role: "owner" | "operator" }
                        | null;
                        createdAt: string;
                        email: string;
                        emailVerified: boolean;
                        id: string;
                        name: string;
                        profiles: {
                            role: "user" | "influencer" | "venue" | "advertiser" | "creator";
                            service: "day" | "studio";
                        }[];
                        status: "active"
                        | "suspended"
                        | "withdrawn";
                    },
                >;
                refresh: () => Promise<
                    {
                        account: {
                            admin: { role: "owner" | "operator" }
                            | null;
                            createdAt: string;
                            email: string;
                            emailVerified: boolean;
                            id: string;
                            name: string;
                            profiles: {
                                role: "user" | "influencer" | "venue" | "advertiser" | "creator";
                                service: "day" | "studio";
                            }[];
                            status: "active"
                            | "suspended"
                            | "withdrawn";
                        };
                    },
                >;
                requestEmailVerification: () => Promise<void>;
                resetPassword: (
                    input: { password: string; token: string },
                ) => Promise<void>;
                signup: (
                    input: {
                        email: string;
                        name: string;
                        password: string;
                        role: "user" | "influencer" | "venue" | "advertiser" | "creator";
                        service: "day" | "studio";
                    },
                ) => Promise<
                    {
                        account: {
                            admin: { role: "owner" | "operator" }
                            | null;
                            createdAt: string;
                            email: string;
                            emailVerified: boolean;
                            id: string;
                            name: string;
                            profiles: {
                                role: "user" | "influencer" | "venue" | "advertiser" | "creator";
                                service: "day" | "studio";
                            }[];
                            status: "active"
                            | "suspended"
                            | "withdrawn";
                        };
                    },
                >;
                verifyEmail: (
                    token: string,
                ) => Promise<
                    {
                        admin: { role: "owner" | "operator" }
                        | null;
                        createdAt: string;
                        email: string;
                        emailVerified: boolean;
                        id: string;
                        name: string;
                        profiles: {
                            role: "user" | "influencer" | "venue" | "advertiser" | "creator";
                            service: "day" | "studio";
                        }[];
                        status: "active"
                        | "suspended"
                        | "withdrawn";
                    },
                >;
            };
            day: {
                castings: {
                    applications: (
                        castingId: string,
                    ) => Promise<
                        {
                            applicant: {
                                avatarUrl: string
                                | null;
                                creatorTypes: string[];
                                fields: string[];
                                id: string;
                                name: string;
                                roles: ("user" | "influencer" | "venue")[];
                                sns: {
                                    blog?: string;
                                    instagram?: string;
                                    tiktok?: string;
                                    x?: string;
                                    youtube?: string;
                                };
                            };
                            createdAt: string;
                            id: string;
                            message: string
                            | null;
                            status: "pending" | "rejected" | "canceled" | "selected";
                        }[],
                    >;
                    apply: (
                        castingId: string,
                        input: { message?: string; role?: "user" | "influencer" },
                    ) => Promise<
                        {
                            applicantCount: number;
                            benefit: string;
                            channels: string[];
                            createdAt: string;
                            deadline: string;
                            description: string;
                            endDate: string;
                            fields: string[];
                            headcount: number;
                            id: string;
                            image: string
                            | null;
                            mission: string;
                            myApplication:
                                | {
                                    createdAt: string;
                                    id: string;
                                    status: "pending"
                                    | "rejected"
                                    | "canceled"
                                    | "selected";
                                }
                                | null;
                            ownerId: string;
                            place: {
                                category: string;
                                id: string;
                                kind: "place"
                                | "brand"
                                | "gov";
                                name: string;
                                photo: string | null;
                                regionId: string;
                            };
                            placeId: string;
                            selectedCount: number;
                            startDate: string;
                            status: "open"
                            | "closed";
                            title: string;
                            type: string;
                        },
                    >;
                    cancelApplication: (castingId: string) => Promise<void>;
                    create: (
                        input: {
                            benefit: string;
                            channels: string[];
                            deadline: string;
                            description: string;
                            endDate: string;
                            fields: string[];
                            headcount: number;
                            idempotencyKey: string;
                            image?: string | null;
                            mission: string;
                            placeId: string;
                            startDate: string;
                            title: string;
                            type: string;
                        },
                    ) => Promise<{ amount: number; id: string; paymentId: string }>;
                    decide: (
                        applicationId: string,
                        input: { status: "pending" | "rejected" | "selected" },
                    ) => Promise<
                        {
                            applicant: {
                                avatarUrl: string
                                | null;
                                creatorTypes: string[];
                                fields: string[];
                                id: string;
                                name: string;
                                roles: ("user" | "influencer" | "venue")[];
                                sns: {
                                    blog?: string;
                                    instagram?: string;
                                    tiktok?: string;
                                    x?: string;
                                    youtube?: string;
                                };
                            };
                            createdAt: string;
                            id: string;
                            message: string
                            | null;
                            status: "pending" | "rejected" | "canceled" | "selected";
                        }[],
                    >;
                    get: (
                        castingId: string,
                    ) => Promise<
                        {
                            applicantCount: number;
                            benefit: string;
                            channels: string[];
                            createdAt: string;
                            deadline: string;
                            description: string;
                            endDate: string;
                            fields: string[];
                            headcount: number;
                            id: string;
                            image: string
                            | null;
                            mission: string;
                            myApplication:
                                | {
                                    createdAt: string;
                                    id: string;
                                    status: "pending"
                                    | "rejected"
                                    | "canceled"
                                    | "selected";
                                }
                                | null;
                            ownerId: string;
                            place: {
                                category: string;
                                id: string;
                                kind: "place"
                                | "brand"
                                | "gov";
                                name: string;
                                photo: string | null;
                                regionId: string;
                            };
                            placeId: string;
                            selectedCount: number;
                            startDate: string;
                            status: "open"
                            | "closed";
                            title: string;
                            type: string;
                        },
                    >;
                    list: (
                        params?: {
                            channel?: string;
                            field?: string;
                            includeClosed?: boolean;
                            ownerId?: string;
                            page?: number;
                            pageSize?: number;
                            placeId?: string;
                            q?: string;
                            type?: string;
                        },
                    ) => Promise<
                        {
                            items: {
                                applicantCount: number;
                                benefit: string;
                                channels: string[];
                                createdAt: string;
                                deadline: string;
                                description: string;
                                endDate: string;
                                fields: string[];
                                headcount: number;
                                id: string;
                                image: string
                                | null;
                                mission: string;
                                myApplication:
                                    | {
                                        createdAt: string;
                                        id: string;
                                        status: (...)
                                        | (...)
                                        | (...)
                                        | (...);
                                    }
                                    | null;
                                ownerId: string;
                                place: {
                                    category: string;
                                    id: string;
                                    kind: "place"
                                    | "brand"
                                    | "gov";
                                    name: string;
                                    photo: string | null;
                                    regionId: string;
                                };
                                placeId: string;
                                selectedCount: number;
                                startDate: string;
                                status: "open"
                                | "closed";
                                title: string;
                                type: string;
                            }[];
                            page: number;
                            pageSize: number;
                            total: number;
                        },
                    >;
                    setStatus: (
                        castingId: string,
                        input: { status: "open" | "closed" },
                    ) => Promise<
                        {
                            applicantCount: number;
                            benefit: string;
                            channels: string[];
                            createdAt: string;
                            deadline: string;
                            description: string;
                            endDate: string;
                            fields: string[];
                            headcount: number;
                            id: string;
                            image: string
                            | null;
                            mission: string;
                            myApplication:
                                | {
                                    createdAt: string;
                                    id: string;
                                    status: "pending"
                                    | "rejected"
                                    | "canceled"
                                    | "selected";
                                }
                                | null;
                            ownerId: string;
                            place: {
                                category: string;
                                id: string;
                                kind: "place"
                                | "brand"
                                | "gov";
                                name: string;
                                photo: string | null;
                                regionId: string;
                            };
                            placeId: string;
                            selectedCount: number;
                            startDate: string;
                            status: "open"
                            | "closed";
                            title: string;
                            type: string;
                        },
                    >;
                    update: (
                        castingId: string,
                        input: {
                            benefit?: string;
                            channels?: string[];
                            deadline?: string;
                            description?: string;
                            endDate?: string;
                            fields?: string[];
                            headcount?: number;
                            image?: string | null;
                            mission?: string;
                            placeId?: string;
                            startDate?: string;
                            title?: string;
                            type?: string;
                        },
                    ) => Promise<
                        {
                            applicantCount: number;
                            benefit: string;
                            channels: string[];
                            createdAt: string;
                            deadline: string;
                            description: string;
                            endDate: string;
                            fields: string[];
                            headcount: number;
                            id: string;
                            image: string
                            | null;
                            mission: string;
                            myApplication:
                                | {
                                    createdAt: string;
                                    id: string;
                                    status: "pending"
                                    | "rejected"
                                    | "canceled"
                                    | "selected";
                                }
                                | null;
                            ownerId: string;
                            place: {
                                category: string;
                                id: string;
                                kind: "place"
                                | "brand"
                                | "gov";
                                name: string;
                                photo: string | null;
                                regionId: string;
                            };
                            placeId: string;
                            selectedCount: number;
                            startDate: string;
                            status: "open"
                            | "closed";
                            title: string;
                            type: string;
                        },
                    >;
                };
                events: {
                    applications: (
                        eventId: string,
                    ) => Promise<
                        {
                            applicant: {
                                avatarUrl: string
                                | null;
                                creatorTypes: string[];
                                fields: string[];
                                id: string;
                                name: string;
                                roles: ("user" | "influencer" | "venue")[];
                                sns: {
                                    blog?: string;
                                    instagram?: string;
                                    tiktok?: string;
                                    x?: string;
                                    youtube?: string;
                                };
                            };
                            attended: boolean;
                            createdAt: string;
                            id: string;
                            message: string
                            | null;
                            role: "user" | "influencer";
                            status: "applied" | "canceled";
                        }[],
                    >;
                    apply: (
                        eventId: string,
                        input: { message?: string; role?: "user" | "influencer" },
                    ) => Promise<
                        {
                            address: string;
                            applicantCount: number;
                            capacity: number;
                            category: string;
                            createdAt: string;
                            date: string;
                            description: string;
                            endTime: string;
                            id: string;
                            image: string
                            | null;
                            lat: number;
                            likeCount: number;
                            liked: boolean;
                            lineup: string[];
                            lng: number;
                            myApplication:
                                | {
                                    attended: boolean;
                                    createdAt: string;
                                    id: string;
                                    role: "user"
                                    | "influencer";
                                    status: "applied" | "canceled";
                                }
                                | null;
                            notice: string
                            | null;
                            ownerId: string;
                            place: {
                                category: string;
                                id: string;
                                kind: "place" | "brand" | "gov";
                                name: string;
                                photo: string | null;
                                regionId: string;
                            };
                            placeId: string;
                            priceInfluencer: number;
                            priceUser: number;
                            program: string;
                            regionId: string;
                            startTime: string;
                            status: "open"
                            | "canceled"
                            | "closed"
                            | "ended";
                            target: "user" | "influencer" | "all";
                            title: string;
                        },
                    >;
                    cancelApplication: (eventId: string) => Promise<void>;
                    create: (
                        input: {
                            address: string;
                            capacity: number;
                            category: string;
                            date: string;
                            description: string;
                            endTime: string;
                            idempotencyKey: string;
                            image?: string | null;
                            lat: number;
                            lineup: string[];
                            lng: number;
                            notice?: string | null;
                            placeId: string;
                            priceInfluencer: number;
                            priceUser: number;
                            program: string;
                            regionId:
                                | "seongsu"
                                | "gangnam"
                                | "mapo"
                                | "yongsan"
                                | "jongno"
                                | "haeundae"
                                | "gangneung"
                                | "jeju";
                            startTime: string;
                            target: "user"
                            | "influencer"
                            | "all";
                            title: string;
                        },
                    ) => Promise<{ amount: number; id: string; paymentId: string }>;
                    get: (
                        eventId: string,
                    ) => Promise<
                        {
                            address: string;
                            applicantCount: number;
                            capacity: number;
                            category: string;
                            createdAt: string;
                            date: string;
                            description: string;
                            endTime: string;
                            id: string;
                            image: string
                            | null;
                            lat: number;
                            likeCount: number;
                            liked: boolean;
                            lineup: string[];
                            lng: number;
                            myApplication:
                                | {
                                    attended: boolean;
                                    createdAt: string;
                                    id: string;
                                    role: "user"
                                    | "influencer";
                                    status: "applied" | "canceled";
                                }
                                | null;
                            notice: string
                            | null;
                            ownerId: string;
                            place: {
                                category: string;
                                id: string;
                                kind: "place" | "brand" | "gov";
                                name: string;
                                photo: string | null;
                                regionId: string;
                            };
                            placeId: string;
                            priceInfluencer: number;
                            priceUser: number;
                            program: string;
                            regionId: string;
                            startTime: string;
                            status: "open"
                            | "canceled"
                            | "closed"
                            | "ended";
                            target: "user" | "influencer" | "all";
                            title: string;
                        },
                    >;
                    like: (eventId: string) => Promise<void>;
                    list: (
                        params?: {
                            category?: string;
                            from?: string;
                            includePast?: boolean;
                            maxLat?: number;
                            maxLng?: number;
                            minLat?: number;
                            minLng?: number;
                            ownerId?: string;
                            page?: number;
                            pageSize?: number;
                            placeId?: string;
                            q?: string;
                            regionId?:
                                | "seongsu"
                                | "gangnam"
                                | "mapo"
                                | "yongsan"
                                | "jongno"
                                | "haeundae"
                                | "gangneung"
                                | "jeju";
                            sort?: "date"
                            | "new"
                            | "popular";
                            status?: ("open" | "canceled" | "closed" | "ended")[];
                            target?: ("user" | "influencer" | "all")[];
                            to?: string;
                        },
                    ) => Promise<
                        {
                            items: {
                                address: string;
                                applicantCount: number;
                                capacity: number;
                                category: string;
                                createdAt: string;
                                date: string;
                                description: string;
                                endTime: string;
                                id: string;
                                image: string
                                | null;
                                lat: number;
                                likeCount: number;
                                liked: boolean;
                                lineup: string[];
                                lng: number;
                                myApplication:
                                    | {
                                        attended: boolean;
                                        createdAt: string;
                                        id: string;
                                        role: (...)
                                        | (...);
                                        status: (...) | (...);
                                    }
                                    | null;
                                notice: string
                                | null;
                                ownerId: string;
                                place: {
                                    category: string;
                                    id: string;
                                    kind: "place" | "brand" | "gov";
                                    name: string;
                                    photo: string | null;
                                    regionId: string;
                                };
                                placeId: string;
                                priceInfluencer: number;
                                priceUser: number;
                                program: string;
                                regionId: string;
                                startTime: string;
                                status: "open"
                                | "canceled"
                                | "closed"
                                | "ended";
                                target: "user" | "influencer" | "all";
                                title: string;
                            }[];
                            page: number;
                            pageSize: number;
                            total: number;
                        },
                    >;
                    setAttendance: (
                        applicationId: string,
                        input: { attended: boolean },
                    ) => Promise<
                        {
                            applicant: {
                                avatarUrl: string
                                | null;
                                creatorTypes: string[];
                                fields: string[];
                                id: string;
                                name: string;
                                roles: ("user" | "influencer" | "venue")[];
                                sns: {
                                    blog?: string;
                                    instagram?: string;
                                    tiktok?: string;
                                    x?: string;
                                    youtube?: string;
                                };
                            };
                            attended: boolean;
                            createdAt: string;
                            id: string;
                            message: string
                            | null;
                            role: "user" | "influencer";
                            status: "applied" | "canceled";
                        }[],
                    >;
                    setStatus: (
                        eventId: string,
                        input: { status: "open" | "canceled" | "closed" | "ended" },
                    ) => Promise<
                        {
                            address: string;
                            applicantCount: number;
                            capacity: number;
                            category: string;
                            createdAt: string;
                            date: string;
                            description: string;
                            endTime: string;
                            id: string;
                            image: string
                            | null;
                            lat: number;
                            likeCount: number;
                            liked: boolean;
                            lineup: string[];
                            lng: number;
                            myApplication:
                                | {
                                    attended: boolean;
                                    createdAt: string;
                                    id: string;
                                    role: "user"
                                    | "influencer";
                                    status: "applied" | "canceled";
                                }
                                | null;
                            notice: string
                            | null;
                            ownerId: string;
                            place: {
                                category: string;
                                id: string;
                                kind: "place" | "brand" | "gov";
                                name: string;
                                photo: string | null;
                                regionId: string;
                            };
                            placeId: string;
                            priceInfluencer: number;
                            priceUser: number;
                            program: string;
                            regionId: string;
                            startTime: string;
                            status: "open"
                            | "canceled"
                            | "closed"
                            | "ended";
                            target: "user" | "influencer" | "all";
                            title: string;
                        },
                    >;
                    unlike: (eventId: string) => Promise<void>;
                    update: (
                        eventId: string,
                        input: {
                            address?: string;
                            capacity?: number;
                            category?: string;
                            date?: string;
                            description?: string;
                            endTime?: string;
                            image?: string | null;
                            lat?: number;
                            lineup?: string[];
                            lng?: number;
                            notice?: string | null;
                            placeId?: string;
                            priceInfluencer?: number;
                            priceUser?: number;
                            program?: string;
                            regionId?:
                                | "seongsu"
                                | "gangnam"
                                | "mapo"
                                | "yongsan"
                                | "jongno"
                                | "haeundae"
                                | "gangneung"
                                | "jeju";
                            startTime?: string;
                            target?: "user"
                            | "influencer"
                            | "all";
                            title?: string;
                        },
                    ) => Promise<
                        {
                            address: string;
                            applicantCount: number;
                            capacity: number;
                            category: string;
                            createdAt: string;
                            date: string;
                            description: string;
                            endTime: string;
                            id: string;
                            image: string
                            | null;
                            lat: number;
                            likeCount: number;
                            liked: boolean;
                            lineup: string[];
                            lng: number;
                            myApplication:
                                | {
                                    attended: boolean;
                                    createdAt: string;
                                    id: string;
                                    role: "user"
                                    | "influencer";
                                    status: "applied" | "canceled";
                                }
                                | null;
                            notice: string
                            | null;
                            ownerId: string;
                            place: {
                                category: string;
                                id: string;
                                kind: "place" | "brand" | "gov";
                                name: string;
                                photo: string | null;
                                regionId: string;
                            };
                            placeId: string;
                            priceInfluencer: number;
                            priceUser: number;
                            program: string;
                            regionId: string;
                            startTime: string;
                            status: "open"
                            | "canceled"
                            | "closed"
                            | "ended";
                            target: "user" | "influencer" | "all";
                            title: string;
                        },
                    >;
                };
                me: {
                    get: () => Promise<
                        {
                            avatarUrl: string
                            | null;
                            email: string;
                            id: string;
                            name: string;
                            profile: {
                                bio: string;
                                creatorTypes: string[];
                                fields: string[];
                                history: string;
                                regionId: string | null;
                                sns: {
                                    blog?: string;
                                    instagram?: string;
                                    tiktok?: string;
                                    x?: string;
                                    youtube?: string;
                                };
                            };
                            roles: ("user" | "influencer" | "venue")[];
                        },
                    >;
                    likes: () => Promise<
                        {
                            address: string;
                            applicantCount: number;
                            capacity: number;
                            category: string;
                            createdAt: string;
                            date: string;
                            description: string;
                            endTime: string;
                            id: string;
                            image: string
                            | null;
                            lat: number;
                            likeCount: number;
                            liked: boolean;
                            lineup: string[];
                            lng: number;
                            myApplication:
                                | {
                                    attended: boolean;
                                    createdAt: string;
                                    id: string;
                                    role: "user"
                                    | "influencer";
                                    status: "applied" | "canceled";
                                }
                                | null;
                            notice: string
                            | null;
                            ownerId: string;
                            place: {
                                category: string;
                                id: string;
                                kind: "place" | "brand" | "gov";
                                name: string;
                                photo: string | null;
                                regionId: string;
                            };
                            placeId: string;
                            priceInfluencer: number;
                            priceUser: number;
                            program: string;
                            regionId: string;
                            startTime: string;
                            status: "open"
                            | "canceled"
                            | "closed"
                            | "ended";
                            target: "user" | "influencer" | "all";
                            title: string;
                        }[],
                    >;
                    schedule: () => Promise<
                        {
                            castings: {
                                application: {
                                    createdAt: string;
                                    id: string;
                                    status: "pending"
                                    | "rejected"
                                    | "canceled"
                                    | "selected";
                                };
                                casting: {
                                    applicantCount: number;
                                    benefit: string;
                                    channels: string[];
                                    createdAt: string;
                                    deadline: string;
                                    description: string;
                                    endDate: string;
                                    fields: string[];
                                    headcount: number;
                                    id: string;
                                    image: string
                                    | null;
                                    mission: string;
                                    myApplication: { createdAt: ...; id: ...; status: ... } | null;
                                    ownerId: string;
                                    place: {
                                        category: string;
                                        id: string;
                                        kind: (...) | (...) | (...);
                                        name: string;
                                        photo: (...) | (...);
                                        regionId: string;
                                    };
                                    placeId: string;
                                    selectedCount: number;
                                    startDate: string;
                                    status: "open"
                                    | "closed";
                                    title: string;
                                    type: string;
                                };
                            }[];
                            events: {
                                application: {
                                    attended: boolean;
                                    createdAt: string;
                                    id: string;
                                    role: "user"
                                    | "influencer";
                                    status: "applied" | "canceled";
                                };
                                event: {
                                    address: string;
                                    applicantCount: number;
                                    capacity: number;
                                    category: string;
                                    createdAt: string;
                                    date: string;
                                    description: string;
                                    endTime: string;
                                    id: string;
                                    image: string
                                    | null;
                                    lat: number;
                                    likeCount: number;
                                    liked: boolean;
                                    lineup: string[];
                                    lng: number;
                                    myApplication:
                                        | {
                                            attended: ...;
                                            createdAt: ...;
                                            id: ...;
                                            role: ...;
                                            status: ...;
                                        }
                                        | null;
                                    notice: string
                                    | null;
                                    ownerId: string;
                                    place: {
                                        category: string;
                                        id: string;
                                        kind: (...) | (...) | (...);
                                        name: string;
                                        photo: (...) | (...);
                                        regionId: string;
                                    };
                                    placeId: string;
                                    priceInfluencer: number;
                                    priceUser: number;
                                    program: string;
                                    regionId: string;
                                    startTime: string;
                                    status: "open"
                                    | "canceled"
                                    | "closed"
                                    | "ended";
                                    target: "user" | "influencer" | "all";
                                    title: string;
                                };
                            }[];
                        },
                    >;
                    updateProfile: (
                        input: {
                            avatarUrl?: string | null;
                            bio?: string;
                            creatorTypes?: string[];
                            fields?: string[];
                            history?: string;
                            name?: string;
                            regionId?:
                                | "seongsu"
                                | "gangnam"
                                | "mapo"
                                | "yongsan"
                                | "jongno"
                                | "haeundae"
                                | "gangneung"
                                | "jeju"
                                | null;
                            sns?: {
                                blog?: string;
                                instagram?: string;
                                tiktok?: string;
                                x?: string;
                                youtube?: string;
                            };
                        },
                    ) => Promise<
                        {
                            avatarUrl: string
                            | null;
                            email: string;
                            id: string;
                            name: string;
                            profile: {
                                bio: string;
                                creatorTypes: string[];
                                fields: string[];
                                history: string;
                                regionId: string | null;
                                sns: {
                                    blog?: string;
                                    instagram?: string;
                                    tiktok?: string;
                                    x?: string;
                                    youtube?: string;
                                };
                            };
                            roles: ("user" | "influencer" | "venue")[];
                        },
                    >;
                };
                meta: () => Promise<
                    {
                        castingTypes: string[];
                        channels: string[];
                        creatorTypes: string[];
                        eventCategories: string[];
                        fields: string[];
                        placeCategories: string[];
                        regions: {
                            city: string;
                            id: string;
                            lat: number;
                            lng: number;
                            name: string;
                        }[];
                        registrationFee: number;
                    },
                >;
                places: {
                    create: (
                        input: {
                            address: string;
                            bizNumber?: string;
                            category: string;
                            contact?: string;
                            hours: string;
                            intro: string;
                            kind: "place" | "brand" | "gov";
                            lat: number;
                            lng: number;
                            name: string;
                            photos: string[];
                            regionId:
                                | "seongsu"
                                | "gangnam"
                                | "mapo"
                                | "yongsan"
                                | "jongno"
                                | "haeundae"
                                | "gangneung"
                                | "jeju";
                            services: string;
                        },
                    ) => Promise<
                        {
                            address: string;
                            bizNumber: string
                            | null;
                            category: string;
                            contact: string | null;
                            createdAt: string;
                            hours: string;
                            id: string;
                            intro: string;
                            kind: "place" | "brand" | "gov";
                            lat: number;
                            lng: number;
                            name: string;
                            ownerId: string;
                            photos: string[];
                            regionId: string;
                            services: string;
                        },
                    >;
                    get: (
                        placeId: string,
                    ) => Promise<
                        {
                            address: string;
                            bizNumber: string
                            | null;
                            category: string;
                            contact: string | null;
                            createdAt: string;
                            hours: string;
                            id: string;
                            intro: string;
                            kind: "place" | "brand" | "gov";
                            lat: number;
                            lng: number;
                            name: string;
                            ownerId: string;
                            photos: string[];
                            regionId: string;
                            services: string;
                        },
                    >;
                    list: (
                        params?: {
                            ownerId?: string;
                            page?: number;
                            pageSize?: number;
                            regionId?:
                                | "seongsu"
                                | "gangnam"
                                | "mapo"
                                | "yongsan"
                                | "jongno"
                                | "haeundae"
                                | "gangneung"
                                | "jeju";
                        },
                    ) => Promise<
                        {
                            items: {
                                address: string;
                                bizNumber: string
                                | null;
                                category: string;
                                contact: string | null;
                                createdAt: string;
                                hours: string;
                                id: string;
                                intro: string;
                                kind: "place" | "brand" | "gov";
                                lat: number;
                                lng: number;
                                name: string;
                                ownerId: string;
                                photos: string[];
                                regionId: string;
                                services: string;
                            }[];
                            page: number;
                            pageSize: number;
                            total: number;
                        },
                    >;
                    remove: (placeId: string) => Promise<void>;
                    update: (
                        placeId: string,
                        input: {
                            address?: string;
                            bizNumber?: string;
                            category?: string;
                            contact?: string;
                            hours?: string;
                            intro?: string;
                            kind?: "place" | "brand" | "gov";
                            lat?: number;
                            lng?: number;
                            name?: string;
                            photos?: string[];
                            regionId?:
                                | "seongsu"
                                | "gangnam"
                                | "mapo"
                                | "yongsan"
                                | "jongno"
                                | "haeundae"
                                | "gangneung"
                                | "jeju";
                            services?: string;
                        },
                    ) => Promise<
                        {
                            address: string;
                            bizNumber: string
                            | null;
                            category: string;
                            contact: string | null;
                            createdAt: string;
                            hours: string;
                            id: string;
                            intro: string;
                            kind: "place" | "brand" | "gov";
                            lat: number;
                            lng: number;
                            name: string;
                            ownerId: string;
                            photos: string[];
                            regionId: string;
                            services: string;
                        },
                    >;
                };
                report: (
                    input: {
                        reason: string;
                        targetId: string;
                        targetType: "user" | "place" | "event" | "casting";
                    },
                ) => Promise<void>;
                users: {
                    get: (
                        userId: string,
                    ) => Promise<
                        {
                            avatarUrl: string
                            | null;
                            bio: string;
                            creatorTypes: string[];
                            fields: string[];
                            history: string;
                            id: string;
                            joinedAt: string;
                            name: string;
                            regionId: string | null;
                            roles: ("user" | "influencer" | "venue")[];
                            sns: {
                                blog?: string;
                                instagram?: string;
                                tiktok?: string;
                                x?: string;
                                youtube?: string;
                            };
                            stats: {
                                attended: number;
                                events: number;
                                hostedEvents: number;
                                places: number;
                                selected: number;
                            };
                        },
                    >;
                };
            };
            health: () => Promise<
                { database: "up"
                | "down"; status: "ok" | "degraded" },
            >;
            notifications: {
                list: (
                    params?: { service?: "day" | "studio" },
                ) => Promise<
                    {
                        items: {
                            createdAt: string;
                            href: string;
                            id: string;
                            read: boolean;
                            service: "day"
                            | "studio"
                            | null;
                            text: string;
                        }[];
                        unread: number;
                    },
                >;
                readAll: (params?: { service?: "day" | "studio" }) => Promise<void>;
            };
            payments: {
                mine: () => Promise<
                    {
                        items: {
                            amount: number;
                            createdAt: string;
                            description: string;
                            id: string;
                            paidAt: string
                            | null;
                            provider: string;
                            purpose:
                                | "day_event_fee"
                                | "day_casting_fee"
                                | "studio_order"
                                | "studio_credit";
                            refId: string
                            | null;
                            refType: string | null;
                            refundedAmount: number;
                            service: "day" | "studio";
                            status: "pending" | "paid" | "failed" | "refunded";
                            vat: number;
                        }[];
                        page: number;
                        pageSize: number;
                        total: number;
                    },
                >;
            };
            request: <T>(method: Method, path: string, body?: unknown) => Promise<T>;
            studio: {
                campaigns: {
                    addMetrics: (
                        campaignId: string,
                        input: { metrics: { name: string; period: string; value: number }[] },
                    ) => Promise<
                        {
                            brief: {
                                ban: string;
                                channels: string[];
                                cta: string;
                                disclosure: string;
                                goal: string;
                                length: number;
                                message: string;
                                mustSay: string;
                                scene: string;
                                target: string;
                                tone: string;
                            };
                            cancelReason: string
                            | null;
                            code: string;
                            createdAt: string;
                            creator:
                                | {
                                    category: string;
                                    color: string;
                                    engagement: number;
                                    followers: number;
                                    handle: string;
                                    id: string;
                                    name: string;
                                    photoUrl: string
                                    | null;
                                    verified: boolean;
                                }
                                | null;
                            emoji: string;
                            id: string;
                            imageUrl: string
                            | null;
                            jobs: {
                                attempts: number;
                                createdAt: string;
                                credits: number;
                                error: string | null;
                                finishedAt: string | null;
                                id: string;
                                kind: "storyboard" | "revision" | "sample" | "final";
                                maxAttempts: number;
                                provider: string;
                                status:
                                    | "failed"
                                    | "done"
                                    | "queued"
                                    | "running"
                                    | "retry"
                                    | "blocked"
                                    | "cancelled";
                            }[];
                            name: string;
                            offer: | {
                                assets: string[];
                                blocker: string
                                | null;
                                channel: string;
                                creatorId: string;
                                expiresAt: string;
                                format: string;
                                id: string;
                                keep: string;
                                media: string[];
                                message: string;
                                portfolio: boolean;
                                postDate: string;
                                region: string;
                                rejectReason: string | null;
                                respondedAt: string | null;
                                rightsEnd: string;
                                rightsStart: string;
                                sentAt: string;
                                status: "withdrawn" | "sent" | "accepted" | "rejected" | "expired";
                                thread: {
                                    at: string;
                                    by: (...) | (...) | (...) | (...);
                                    name: string;
                                    tag?: (...) | (...);
                                    text: string;
                                }[];
                            }
                            | null;
                            order: | {
                                blocked: string
                                | null;
                                comments: {
                                    at: string;
                                    by: (...) | (...) | (...) | (...);
                                    name: string;
                                    tag?: (...) | (...);
                                    text: string;
                                }[];
                                confirmedAt: string;
                                creatorMetricsDone: boolean;
                                id: string;
                                metrics: {
                                    at: string;
                                    by: string;
                                    id: string;
                                    name: string;
                                    period: string;
                                    source: (...)
                                    | (...)
                                    | (...);
                                    value: number;
                                    verified: boolean;
                                }[];
                                outputUrl: string
                                | null;
                                paidAt: string | null;
                                payoutStatus: "paid" | "progress" | "scheduled" | "hold";
                                proof:
                                    | { at: string; captures: number; url: string; verified: boolean }
                                    | null;
                                qa: string;
                                revisionsLeft: number;
                                usesVoice: boolean;
                                version: number;
                            }
                            | null;
                            orgId: string;
                            orgName: string;
                            pastOffers: {
                                at: string;
                                creatorId: string;
                                creatorName: string;
                                id: string;
                                note: string;
                                status: "withdrawn"
                                | "rejected"
                                | "expired";
                            }[];
                            payout: number
                            | null;
                            price: number | null;
                            productId: string;
                            stage:
                                | "done"
                                | "accepted"
                                | "storyboard"
                                | "cancelled"
                                | "matching"
                                | "offer"
                                | "producing"
                                | "creator_review"
                                | "advertiser_review"
                                | "approved"
                                | "published";
                            stageLabel: string;
                            storyboard: {
                                approved: | { at: string; by: string; no: number; version: number }
                                | null;
                                batch: number;
                                history: {
                                    at: string;
                                    by: string;
                                    detail: string;
                                    title: string;
                                    tone?: "done" | "warn";
                                }[];
                                notes: string[];
                                options: {
                                    cta: string;
                                    exposure: string;
                                    no: number;
                                    qa: { ok: boolean; text: string };
                                    scenes: { exposure?: ...; line: ...; time: ...; visual: ... }[];
                                    summary: string;
                                    title: string;
                                    version: number;
                                }[];
                                regenerationsLeft: number;
                                sample: "generating"
                                | "ready"
                                | "none";
                                sampleAudioUrl: string | null;
                                sampleUrl: string | null;
                                selected: number;
                                status: "failed" | "generating" | "ready";
                                versions: number[];
                            };
                            type: "AI"
                            | "Direct";
                            updatedAt: string;
                        },
                    >;
                    approveOutput: (
                        campaignId: string,
                    ) => Promise<
                        {
                            brief: {
                                ban: string;
                                channels: string[];
                                cta: string;
                                disclosure: string;
                                goal: string;
                                length: number;
                                message: string;
                                mustSay: string;
                                scene: string;
                                target: string;
                                tone: string;
                            };
                            cancelReason: string
                            | null;
                            code: string;
                            createdAt: string;
                            creator:
                                | {
                                    category: string;
                                    color: string;
                                    engagement: number;
                                    followers: number;
                                    handle: string;
                                    id: string;
                                    name: string;
                                    photoUrl: string
                                    | null;
                                    verified: boolean;
                                }
                                | null;
                            emoji: string;
                            id: string;
                            imageUrl: string
                            | null;
                            jobs: {
                                attempts: number;
                                createdAt: string;
                                credits: number;
                                error: string | null;
                                finishedAt: string | null;
                                id: string;
                                kind: "storyboard" | "revision" | "sample" | "final";
                                maxAttempts: number;
                                provider: string;
                                status:
                                    | "failed"
                                    | "done"
                                    | "queued"
                                    | "running"
                                    | "retry"
                                    | "blocked"
                                    | "cancelled";
                            }[];
                            name: string;
                            offer: | {
                                assets: string[];
                                blocker: string
                                | null;
                                channel: string;
                                creatorId: string;
                                expiresAt: string;
                                format: string;
                                id: string;
                                keep: string;
                                media: string[];
                                message: string;
                                portfolio: boolean;
                                postDate: string;
                                region: string;
                                rejectReason: string | null;
                                respondedAt: string | null;
                                rightsEnd: string;
                                rightsStart: string;
                                sentAt: string;
                                status: "withdrawn" | "sent" | "accepted" | "rejected" | "expired";
                                thread: {
                                    at: string;
                                    by: (...) | (...) | (...) | (...);
                                    name: string;
                                    tag?: (...) | (...);
                                    text: string;
                                }[];
                            }
                            | null;
                            order: | {
                                blocked: string
                                | null;
                                comments: {
                                    at: string;
                                    by: (...) | (...) | (...) | (...);
                                    name: string;
                                    tag?: (...) | (...);
                                    text: string;
                                }[];
                                confirmedAt: string;
                                creatorMetricsDone: boolean;
                                id: string;
                                metrics: {
                                    at: string;
                                    by: string;
                                    id: string;
                                    name: string;
                                    period: string;
                                    source: (...)
                                    | (...)
                                    | (...);
                                    value: number;
                                    verified: boolean;
                                }[];
                                outputUrl: string
                                | null;
                                paidAt: string | null;
                                payoutStatus: "paid" | "progress" | "scheduled" | "hold";
                                proof:
                                    | { at: string; captures: number; url: string; verified: boolean }
                                    | null;
                                qa: string;
                                revisionsLeft: number;
                                usesVoice: boolean;
                                version: number;
                            }
                            | null;
                            orgId: string;
                            orgName: string;
                            pastOffers: {
                                at: string;
                                creatorId: string;
                                creatorName: string;
                                id: string;
                                note: string;
                                status: "withdrawn"
                                | "rejected"
                                | "expired";
                            }[];
                            payout: number
                            | null;
                            price: number | null;
                            productId: string;
                            stage:
                                | "done"
                                | "accepted"
                                | "storyboard"
                                | "cancelled"
                                | "matching"
                                | "offer"
                                | "producing"
                                | "creator_review"
                                | "advertiser_review"
                                | "approved"
                                | "published";
                            stageLabel: string;
                            storyboard: {
                                approved: | { at: string; by: string; no: number; version: number }
                                | null;
                                batch: number;
                                history: {
                                    at: string;
                                    by: string;
                                    detail: string;
                                    title: string;
                                    tone?: "done" | "warn";
                                }[];
                                notes: string[];
                                options: {
                                    cta: string;
                                    exposure: string;
                                    no: number;
                                    qa: { ok: boolean; text: string };
                                    scenes: { exposure?: ...; line: ...; time: ...; visual: ... }[];
                                    summary: string;
                                    title: string;
                                    version: number;
                                }[];
                                regenerationsLeft: number;
                                sample: "generating"
                                | "ready"
                                | "none";
                                sampleAudioUrl: string | null;
                                sampleUrl: string | null;
                                selected: number;
                                status: "failed" | "generating" | "ready";
                                versions: number[];
                            };
                            type: "AI"
                            | "Direct";
                            updatedAt: string;
                        },
                    >;
                    approveStory: (
                        campaignId: string,
                    ) => Promise<
                        {
                            brief: {
                                ban: string;
                                channels: string[];
                                cta: string;
                                disclosure: string;
                                goal: string;
                                length: number;
                                message: string;
                                mustSay: string;
                                scene: string;
                                target: string;
                                tone: string;
                            };
                            cancelReason: string
                            | null;
                            code: string;
                            createdAt: string;
                            creator:
                                | {
                                    category: string;
                                    color: string;
                                    engagement: number;
                                    followers: number;
                                    handle: string;
                                    id: string;
                                    name: string;
                                    photoUrl: string
                                    | null;
                                    verified: boolean;
                                }
                                | null;
                            emoji: string;
                            id: string;
                            imageUrl: string
                            | null;
                            jobs: {
                                attempts: number;
                                createdAt: string;
                                credits: number;
                                error: string | null;
                                finishedAt: string | null;
                                id: string;
                                kind: "storyboard" | "revision" | "sample" | "final";
                                maxAttempts: number;
                                provider: string;
                                status:
                                    | "failed"
                                    | "done"
                                    | "queued"
                                    | "running"
                                    | "retry"
                                    | "blocked"
                                    | "cancelled";
                            }[];
                            name: string;
                            offer: | {
                                assets: string[];
                                blocker: string
                                | null;
                                channel: string;
                                creatorId: string;
                                expiresAt: string;
                                format: string;
                                id: string;
                                keep: string;
                                media: string[];
                                message: string;
                                portfolio: boolean;
                                postDate: string;
                                region: string;
                                rejectReason: string | null;
                                respondedAt: string | null;
                                rightsEnd: string;
                                rightsStart: string;
                                sentAt: string;
                                status: "withdrawn" | "sent" | "accepted" | "rejected" | "expired";
                                thread: {
                                    at: string;
                                    by: (...) | (...) | (...) | (...);
                                    name: string;
                                    tag?: (...) | (...);
                                    text: string;
                                }[];
                            }
                            | null;
                            order: | {
                                blocked: string
                                | null;
                                comments: {
                                    at: string;
                                    by: (...) | (...) | (...) | (...);
                                    name: string;
                                    tag?: (...) | (...);
                                    text: string;
                                }[];
                                confirmedAt: string;
                                creatorMetricsDone: boolean;
                                id: string;
                                metrics: {
                                    at: string;
                                    by: string;
                                    id: string;
                                    name: string;
                                    period: string;
                                    source: (...)
                                    | (...)
                                    | (...);
                                    value: number;
                                    verified: boolean;
                                }[];
                                outputUrl: string
                                | null;
                                paidAt: string | null;
                                payoutStatus: "paid" | "progress" | "scheduled" | "hold";
                                proof:
                                    | { at: string; captures: number; url: string; verified: boolean }
                                    | null;
                                qa: string;
                                revisionsLeft: number;
                                usesVoice: boolean;
                                version: number;
                            }
                            | null;
                            orgId: string;
                            orgName: string;
                            pastOffers: {
                                at: string;
                                creatorId: string;
                                creatorName: string;
                                id: string;
                                note: string;
                                status: "withdrawn"
                                | "rejected"
                                | "expired";
                            }[];
                            payout: number
                            | null;
                            price: number | null;
                            productId: string;
                            stage:
                                | "done"
                                | "accepted"
                                | "storyboard"
                                | "cancelled"
                                | "matching"
                                | "offer"
                                | "producing"
                                | "creator_review"
                                | "advertiser_review"
                                | "approved"
                                | "published";
                            stageLabel: string;
                            storyboard: {
                                approved: | { at: string; by: string; no: number; version: number }
                                | null;
                                batch: number;
                                history: {
                                    at: string;
                                    by: string;
                                    detail: string;
                                    title: string;
                                    tone?: "done" | "warn";
                                }[];
                                notes: string[];
                                options: {
                                    cta: string;
                                    exposure: string;
                                    no: number;
                                    qa: { ok: boolean; text: string };
                                    scenes: { exposure?: ...; line: ...; time: ...; visual: ... }[];
                                    summary: string;
                                    title: string;
                                    version: number;
                                }[];
                                regenerationsLeft: number;
                                sample: "generating"
                                | "ready"
                                | "none";
                                sampleAudioUrl: string | null;
                                sampleUrl: string | null;
                                selected: number;
                                status: "failed" | "generating" | "ready";
                                versions: number[];
                            };
                            type: "AI"
                            | "Direct";
                            updatedAt: string;
                        },
                    >;
                    cancel: (
                        campaignId: string,
                        reason: string,
                    ) => Promise<
                        {
                            brief: {
                                ban: string;
                                channels: string[];
                                cta: string;
                                disclosure: string;
                                goal: string;
                                length: number;
                                message: string;
                                mustSay: string;
                                scene: string;
                                target: string;
                                tone: string;
                            };
                            cancelReason: string
                            | null;
                            code: string;
                            createdAt: string;
                            creator:
                                | {
                                    category: string;
                                    color: string;
                                    engagement: number;
                                    followers: number;
                                    handle: string;
                                    id: string;
                                    name: string;
                                    photoUrl: string
                                    | null;
                                    verified: boolean;
                                }
                                | null;
                            emoji: string;
                            id: string;
                            imageUrl: string
                            | null;
                            jobs: {
                                attempts: number;
                                createdAt: string;
                                credits: number;
                                error: string | null;
                                finishedAt: string | null;
                                id: string;
                                kind: "storyboard" | "revision" | "sample" | "final";
                                maxAttempts: number;
                                provider: string;
                                status:
                                    | "failed"
                                    | "done"
                                    | "queued"
                                    | "running"
                                    | "retry"
                                    | "blocked"
                                    | "cancelled";
                            }[];
                            name: string;
                            offer: | {
                                assets: string[];
                                blocker: string
                                | null;
                                channel: string;
                                creatorId: string;
                                expiresAt: string;
                                format: string;
                                id: string;
                                keep: string;
                                media: string[];
                                message: string;
                                portfolio: boolean;
                                postDate: string;
                                region: string;
                                rejectReason: string | null;
                                respondedAt: string | null;
                                rightsEnd: string;
                                rightsStart: string;
                                sentAt: string;
                                status: "withdrawn" | "sent" | "accepted" | "rejected" | "expired";
                                thread: {
                                    at: string;
                                    by: (...) | (...) | (...) | (...);
                                    name: string;
                                    tag?: (...) | (...);
                                    text: string;
                                }[];
                            }
                            | null;
                            order: | {
                                blocked: string
                                | null;
                                comments: {
                                    at: string;
                                    by: (...) | (...) | (...) | (...);
                                    name: string;
                                    tag?: (...) | (...);
                                    text: string;
                                }[];
                                confirmedAt: string;
                                creatorMetricsDone: boolean;
                                id: string;
                                metrics: {
                                    at: string;
                                    by: string;
                                    id: string;
                                    name: string;
                                    period: string;
                                    source: (...)
                                    | (...)
                                    | (...);
                                    value: number;
                                    verified: boolean;
                                }[];
                                outputUrl: string
                                | null;
                                paidAt: string | null;
                                payoutStatus: "paid" | "progress" | "scheduled" | "hold";
                                proof:
                                    | { at: string; captures: number; url: string; verified: boolean }
                                    | null;
                                qa: string;
                                revisionsLeft: number;
                                usesVoice: boolean;
                                version: number;
                            }
                            | null;
                            orgId: string;
                            orgName: string;
                            pastOffers: {
                                at: string;
                                creatorId: string;
                                creatorName: string;
                                id: string;
                                note: string;
                                status: "withdrawn"
                                | "rejected"
                                | "expired";
                            }[];
                            payout: number
                            | null;
                            price: number | null;
                            productId: string;
                            stage:
                                | "done"
                                | "accepted"
                                | "storyboard"
                                | "cancelled"
                                | "matching"
                                | "offer"
                                | "producing"
                                | "creator_review"
                                | "advertiser_review"
                                | "approved"
                                | "published";
                            stageLabel: string;
                            storyboard: {
                                approved: | { at: string; by: string; no: number; version: number }
                                | null;
                                batch: number;
                                history: {
                                    at: string;
                                    by: string;
                                    detail: string;
                                    title: string;
                                    tone?: "done" | "warn";
                                }[];
                                notes: string[];
                                options: {
                                    cta: string;
                                    exposure: string;
                                    no: number;
                                    qa: { ok: boolean; text: string };
                                    scenes: { exposure?: ...; line: ...; time: ...; visual: ... }[];
                                    summary: string;
                                    title: string;
                                    version: number;
                                }[];
                                regenerationsLeft: number;
                                sample: "generating"
                                | "ready"
                                | "none";
                                sampleAudioUrl: string | null;
                                sampleUrl: string | null;
                                selected: number;
                                status: "failed" | "generating" | "ready";
                                versions: number[];
                            };
                            type: "AI"
                            | "Direct";
                            updatedAt: string;
                        },
                    >;
                    comment: (
                        campaignId: string,
                        input: { tag?: string; text: string },
                    ) => Promise<
                        {
                            brief: {
                                ban: string;
                                channels: string[];
                                cta: string;
                                disclosure: string;
                                goal: string;
                                length: number;
                                message: string;
                                mustSay: string;
                                scene: string;
                                target: string;
                                tone: string;
                            };
                            cancelReason: string
                            | null;
                            code: string;
                            createdAt: string;
                            creator:
                                | {
                                    category: string;
                                    color: string;
                                    engagement: number;
                                    followers: number;
                                    handle: string;
                                    id: string;
                                    name: string;
                                    photoUrl: string
                                    | null;
                                    verified: boolean;
                                }
                                | null;
                            emoji: string;
                            id: string;
                            imageUrl: string
                            | null;
                            jobs: {
                                attempts: number;
                                createdAt: string;
                                credits: number;
                                error: string | null;
                                finishedAt: string | null;
                                id: string;
                                kind: "storyboard" | "revision" | "sample" | "final";
                                maxAttempts: number;
                                provider: string;
                                status:
                                    | "failed"
                                    | "done"
                                    | "queued"
                                    | "running"
                                    | "retry"
                                    | "blocked"
                                    | "cancelled";
                            }[];
                            name: string;
                            offer: | {
                                assets: string[];
                                blocker: string
                                | null;
                                channel: string;
                                creatorId: string;
                                expiresAt: string;
                                format: string;
                                id: string;
                                keep: string;
                                media: string[];
                                message: string;
                                portfolio: boolean;
                                postDate: string;
                                region: string;
                                rejectReason: string | null;
                                respondedAt: string | null;
                                rightsEnd: string;
                                rightsStart: string;
                                sentAt: string;
                                status: "withdrawn" | "sent" | "accepted" | "rejected" | "expired";
                                thread: {
                                    at: string;
                                    by: (...) | (...) | (...) | (...);
                                    name: string;
                                    tag?: (...) | (...);
                                    text: string;
                                }[];
                            }
                            | null;
                            order: | {
                                blocked: string
                                | null;
                                comments: {
                                    at: string;
                                    by: (...) | (...) | (...) | (...);
                                    name: string;
                                    tag?: (...) | (...);
                                    text: string;
                                }[];
                                confirmedAt: string;
                                creatorMetricsDone: boolean;
                                id: string;
                                metrics: {
                                    at: string;
                                    by: string;
                                    id: string;
                                    name: string;
                                    period: string;
                                    source: (...)
                                    | (...)
                                    | (...);
                                    value: number;
                                    verified: boolean;
                                }[];
                                outputUrl: string
                                | null;
                                paidAt: string | null;
                                payoutStatus: "paid" | "progress" | "scheduled" | "hold";
                                proof:
                                    | { at: string; captures: number; url: string; verified: boolean }
                                    | null;
                                qa: string;
                                revisionsLeft: number;
                                usesVoice: boolean;
                                version: number;
                            }
                            | null;
                            orgId: string;
                            orgName: string;
                            pastOffers: {
                                at: string;
                                creatorId: string;
                                creatorName: string;
                                id: string;
                                note: string;
                                status: "withdrawn"
                                | "rejected"
                                | "expired";
                            }[];
                            payout: number
                            | null;
                            price: number | null;
                            productId: string;
                            stage:
                                | "done"
                                | "accepted"
                                | "storyboard"
                                | "cancelled"
                                | "matching"
                                | "offer"
                                | "producing"
                                | "creator_review"
                                | "advertiser_review"
                                | "approved"
                                | "published";
                            stageLabel: string;
                            storyboard: {
                                approved: | { at: string; by: string; no: number; version: number }
                                | null;
                                batch: number;
                                history: {
                                    at: string;
                                    by: string;
                                    detail: string;
                                    title: string;
                                    tone?: "done" | "warn";
                                }[];
                                notes: string[];
                                options: {
                                    cta: string;
                                    exposure: string;
                                    no: number;
                                    qa: { ok: boolean; text: string };
                                    scenes: { exposure?: ...; line: ...; time: ...; visual: ... }[];
                                    summary: string;
                                    title: string;
                                    version: number;
                                }[];
                                regenerationsLeft: number;
                                sample: "generating"
                                | "ready"
                                | "none";
                                sampleAudioUrl: string | null;
                                sampleUrl: string | null;
                                selected: number;
                                status: "failed" | "generating" | "ready";
                                versions: number[];
                            };
                            type: "AI"
                            | "Direct";
                            updatedAt: string;
                        },
                    >;
                    confirmOrder: (
                        campaignId: string,
                    ) => Promise<
                        {
                            brief: {
                                ban: string;
                                channels: string[];
                                cta: string;
                                disclosure: string;
                                goal: string;
                                length: number;
                                message: string;
                                mustSay: string;
                                scene: string;
                                target: string;
                                tone: string;
                            };
                            cancelReason: string
                            | null;
                            code: string;
                            createdAt: string;
                            creator:
                                | {
                                    category: string;
                                    color: string;
                                    engagement: number;
                                    followers: number;
                                    handle: string;
                                    id: string;
                                    name: string;
                                    photoUrl: string
                                    | null;
                                    verified: boolean;
                                }
                                | null;
                            emoji: string;
                            id: string;
                            imageUrl: string
                            | null;
                            jobs: {
                                attempts: number;
                                createdAt: string;
                                credits: number;
                                error: string | null;
                                finishedAt: string | null;
                                id: string;
                                kind: "storyboard" | "revision" | "sample" | "final";
                                maxAttempts: number;
                                provider: string;
                                status:
                                    | "failed"
                                    | "done"
                                    | "queued"
                                    | "running"
                                    | "retry"
                                    | "blocked"
                                    | "cancelled";
                            }[];
                            name: string;
                            offer: | {
                                assets: string[];
                                blocker: string
                                | null;
                                channel: string;
                                creatorId: string;
                                expiresAt: string;
                                format: string;
                                id: string;
                                keep: string;
                                media: string[];
                                message: string;
                                portfolio: boolean;
                                postDate: string;
                                region: string;
                                rejectReason: string | null;
                                respondedAt: string | null;
                                rightsEnd: string;
                                rightsStart: string;
                                sentAt: string;
                                status: "withdrawn" | "sent" | "accepted" | "rejected" | "expired";
                                thread: {
                                    at: string;
                                    by: (...) | (...) | (...) | (...);
                                    name: string;
                                    tag?: (...) | (...);
                                    text: string;
                                }[];
                            }
                            | null;
                            order: | {
                                blocked: string
                                | null;
                                comments: {
                                    at: string;
                                    by: (...) | (...) | (...) | (...);
                                    name: string;
                                    tag?: (...) | (...);
                                    text: string;
                                }[];
                                confirmedAt: string;
                                creatorMetricsDone: boolean;
                                id: string;
                                metrics: {
                                    at: string;
                                    by: string;
                                    id: string;
                                    name: string;
                                    period: string;
                                    source: (...)
                                    | (...)
                                    | (...);
                                    value: number;
                                    verified: boolean;
                                }[];
                                outputUrl: string
                                | null;
                                paidAt: string | null;
                                payoutStatus: "paid" | "progress" | "scheduled" | "hold";
                                proof:
                                    | { at: string; captures: number; url: string; verified: boolean }
                                    | null;
                                qa: string;
                                revisionsLeft: number;
                                usesVoice: boolean;
                                version: number;
                            }
                            | null;
                            orgId: string;
                            orgName: string;
                            pastOffers: {
                                at: string;
                                creatorId: string;
                                creatorName: string;
                                id: string;
                                note: string;
                                status: "withdrawn"
                                | "rejected"
                                | "expired";
                            }[];
                            payout: number
                            | null;
                            price: number | null;
                            productId: string;
                            stage:
                                | "done"
                                | "accepted"
                                | "storyboard"
                                | "cancelled"
                                | "matching"
                                | "offer"
                                | "producing"
                                | "creator_review"
                                | "advertiser_review"
                                | "approved"
                                | "published";
                            stageLabel: string;
                            storyboard: {
                                approved: | { at: string; by: string; no: number; version: number }
                                | null;
                                batch: number;
                                history: {
                                    at: string;
                                    by: string;
                                    detail: string;
                                    title: string;
                                    tone?: "done" | "warn";
                                }[];
                                notes: string[];
                                options: {
                                    cta: string;
                                    exposure: string;
                                    no: number;
                                    qa: { ok: boolean; text: string };
                                    scenes: { exposure?: ...; line: ...; time: ...; visual: ... }[];
                                    summary: string;
                                    title: string;
                                    version: number;
                                }[];
                                regenerationsLeft: number;
                                sample: "generating"
                                | "ready"
                                | "none";
                                sampleAudioUrl: string | null;
                                sampleUrl: string | null;
                                selected: number;
                                status: "failed" | "generating" | "ready";
                                versions: number[];
                            };
                            type: "AI"
                            | "Direct";
                            updatedAt: string;
                        },
                    >;
                    create: (
                        input: {
                            brief: {
                                ban: string;
                                channels: string[];
                                cta: string;
                                disclosure: string;
                                goal: string;
                                length: number;
                                message: string;
                                mustSay: string;
                                scene: string;
                                target: string;
                                tone: string;
                            };
                            name?: string;
                            productId: string;
                            type: "AI"
                            | "Direct";
                        },
                    ) => Promise<
                        {
                            brief: {
                                ban: string;
                                channels: string[];
                                cta: string;
                                disclosure: string;
                                goal: string;
                                length: number;
                                message: string;
                                mustSay: string;
                                scene: string;
                                target: string;
                                tone: string;
                            };
                            cancelReason: string
                            | null;
                            code: string;
                            createdAt: string;
                            creator:
                                | {
                                    category: string;
                                    color: string;
                                    engagement: number;
                                    followers: number;
                                    handle: string;
                                    id: string;
                                    name: string;
                                    photoUrl: string
                                    | null;
                                    verified: boolean;
                                }
                                | null;
                            emoji: string;
                            id: string;
                            imageUrl: string
                            | null;
                            jobs: {
                                attempts: number;
                                createdAt: string;
                                credits: number;
                                error: string | null;
                                finishedAt: string | null;
                                id: string;
                                kind: "storyboard" | "revision" | "sample" | "final";
                                maxAttempts: number;
                                provider: string;
                                status:
                                    | "failed"
                                    | "done"
                                    | "queued"
                                    | "running"
                                    | "retry"
                                    | "blocked"
                                    | "cancelled";
                            }[];
                            name: string;
                            offer: | {
                                assets: string[];
                                blocker: string
                                | null;
                                channel: string;
                                creatorId: string;
                                expiresAt: string;
                                format: string;
                                id: string;
                                keep: string;
                                media: string[];
                                message: string;
                                portfolio: boolean;
                                postDate: string;
                                region: string;
                                rejectReason: string | null;
                                respondedAt: string | null;
                                rightsEnd: string;
                                rightsStart: string;
                                sentAt: string;
                                status: "withdrawn" | "sent" | "accepted" | "rejected" | "expired";
                                thread: {
                                    at: string;
                                    by: (...) | (...) | (...) | (...);
                                    name: string;
                                    tag?: (...) | (...);
                                    text: string;
                                }[];
                            }
                            | null;
                            order: | {
                                blocked: string
                                | null;
                                comments: {
                                    at: string;
                                    by: (...) | (...) | (...) | (...);
                                    name: string;
                                    tag?: (...) | (...);
                                    text: string;
                                }[];
                                confirmedAt: string;
                                creatorMetricsDone: boolean;
                                id: string;
                                metrics: {
                                    at: string;
                                    by: string;
                                    id: string;
                                    name: string;
                                    period: string;
                                    source: (...)
                                    | (...)
                                    | (...);
                                    value: number;
                                    verified: boolean;
                                }[];
                                outputUrl: string
                                | null;
                                paidAt: string | null;
                                payoutStatus: "paid" | "progress" | "scheduled" | "hold";
                                proof:
                                    | { at: string; captures: number; url: string; verified: boolean }
                                    | null;
                                qa: string;
                                revisionsLeft: number;
                                usesVoice: boolean;
                                version: number;
                            }
                            | null;
                            orgId: string;
                            orgName: string;
                            pastOffers: {
                                at: string;
                                creatorId: string;
                                creatorName: string;
                                id: string;
                                note: string;
                                status: "withdrawn"
                                | "rejected"
                                | "expired";
                            }[];
                            payout: number
                            | null;
                            price: number | null;
                            productId: string;
                            stage:
                                | "done"
                                | "accepted"
                                | "storyboard"
                                | "cancelled"
                                | "matching"
                                | "offer"
                                | "producing"
                                | "creator_review"
                                | "advertiser_review"
                                | "approved"
                                | "published";
                            stageLabel: string;
                            storyboard: {
                                approved: | { at: string; by: string; no: number; version: number }
                                | null;
                                batch: number;
                                history: {
                                    at: string;
                                    by: string;
                                    detail: string;
                                    title: string;
                                    tone?: "done" | "warn";
                                }[];
                                notes: string[];
                                options: {
                                    cta: string;
                                    exposure: string;
                                    no: number;
                                    qa: { ok: boolean; text: string };
                                    scenes: { exposure?: ...; line: ...; time: ...; visual: ... }[];
                                    summary: string;
                                    title: string;
                                    version: number;
                                }[];
                                regenerationsLeft: number;
                                sample: "generating"
                                | "ready"
                                | "none";
                                sampleAudioUrl: string | null;
                                sampleUrl: string | null;
                                selected: number;
                                status: "failed" | "generating" | "ready";
                                versions: number[];
                            };
                            type: "AI"
                            | "Direct";
                            updatedAt: string;
                        },
                    >;
                    get: (
                        campaignId: string,
                    ) => Promise<
                        {
                            brief: {
                                ban: string;
                                channels: string[];
                                cta: string;
                                disclosure: string;
                                goal: string;
                                length: number;
                                message: string;
                                mustSay: string;
                                scene: string;
                                target: string;
                                tone: string;
                            };
                            cancelReason: string
                            | null;
                            code: string;
                            createdAt: string;
                            creator:
                                | {
                                    category: string;
                                    color: string;
                                    engagement: number;
                                    followers: number;
                                    handle: string;
                                    id: string;
                                    name: string;
                                    photoUrl: string
                                    | null;
                                    verified: boolean;
                                }
                                | null;
                            emoji: string;
                            id: string;
                            imageUrl: string
                            | null;
                            jobs: {
                                attempts: number;
                                createdAt: string;
                                credits: number;
                                error: string | null;
                                finishedAt: string | null;
                                id: string;
                                kind: "storyboard" | "revision" | "sample" | "final";
                                maxAttempts: number;
                                provider: string;
                                status:
                                    | "failed"
                                    | "done"
                                    | "queued"
                                    | "running"
                                    | "retry"
                                    | "blocked"
                                    | "cancelled";
                            }[];
                            name: string;
                            offer: | {
                                assets: string[];
                                blocker: string
                                | null;
                                channel: string;
                                creatorId: string;
                                expiresAt: string;
                                format: string;
                                id: string;
                                keep: string;
                                media: string[];
                                message: string;
                                portfolio: boolean;
                                postDate: string;
                                region: string;
                                rejectReason: string | null;
                                respondedAt: string | null;
                                rightsEnd: string;
                                rightsStart: string;
                                sentAt: string;
                                status: "withdrawn" | "sent" | "accepted" | "rejected" | "expired";
                                thread: {
                                    at: string;
                                    by: (...) | (...) | (...) | (...);
                                    name: string;
                                    tag?: (...) | (...);
                                    text: string;
                                }[];
                            }
                            | null;
                            order: | {
                                blocked: string
                                | null;
                                comments: {
                                    at: string;
                                    by: (...) | (...) | (...) | (...);
                                    name: string;
                                    tag?: (...) | (...);
                                    text: string;
                                }[];
                                confirmedAt: string;
                                creatorMetricsDone: boolean;
                                id: string;
                                metrics: {
                                    at: string;
                                    by: string;
                                    id: string;
                                    name: string;
                                    period: string;
                                    source: (...)
                                    | (...)
                                    | (...);
                                    value: number;
                                    verified: boolean;
                                }[];
                                outputUrl: string
                                | null;
                                paidAt: string | null;
                                payoutStatus: "paid" | "progress" | "scheduled" | "hold";
                                proof:
                                    | { at: string; captures: number; url: string; verified: boolean }
                                    | null;
                                qa: string;
                                revisionsLeft: number;
                                usesVoice: boolean;
                                version: number;
                            }
                            | null;
                            orgId: string;
                            orgName: string;
                            pastOffers: {
                                at: string;
                                creatorId: string;
                                creatorName: string;
                                id: string;
                                note: string;
                                status: "withdrawn"
                                | "rejected"
                                | "expired";
                            }[];
                            payout: number
                            | null;
                            price: number | null;
                            productId: string;
                            stage:
                                | "done"
                                | "accepted"
                                | "storyboard"
                                | "cancelled"
                                | "matching"
                                | "offer"
                                | "producing"
                                | "creator_review"
                                | "advertiser_review"
                                | "approved"
                                | "published";
                            stageLabel: string;
                            storyboard: {
                                approved: | { at: string; by: string; no: number; version: number }
                                | null;
                                batch: number;
                                history: {
                                    at: string;
                                    by: string;
                                    detail: string;
                                    title: string;
                                    tone?: "done" | "warn";
                                }[];
                                notes: string[];
                                options: {
                                    cta: string;
                                    exposure: string;
                                    no: number;
                                    qa: { ok: boolean; text: string };
                                    scenes: { exposure?: ...; line: ...; time: ...; visual: ... }[];
                                    summary: string;
                                    title: string;
                                    version: number;
                                }[];
                                regenerationsLeft: number;
                                sample: "generating"
                                | "ready"
                                | "none";
                                sampleAudioUrl: string | null;
                                sampleUrl: string | null;
                                selected: number;
                                status: "failed" | "generating" | "ready";
                                versions: number[];
                            };
                            type: "AI"
                            | "Direct";
                            updatedAt: string;
                        },
                    >;
                    list: (
                        params?: {
                            page?: number;
                            pageSize?: number;
                            q?: string;
                            stage?: (
                                | "done"
                                | "accepted"
                                | "storyboard"
                                | "cancelled"
                                | "matching"
                                | "offer"
                                | "producing"
                                | "creator_review"
                                | "advertiser_review"
                                | "approved"
                                | "published"
                            )[];
                        },
                    ) => Promise<
                        {
                            items: {
                                brief: {
                                    ban: string;
                                    channels: string[];
                                    cta: string;
                                    disclosure: string;
                                    goal: string;
                                    length: number;
                                    message: string;
                                    mustSay: string;
                                    scene: string;
                                    target: string;
                                    tone: string;
                                };
                                cancelReason: string
                                | null;
                                code: string;
                                createdAt: string;
                                creator:
                                    | {
                                        category: string;
                                        color: string;
                                        engagement: number;
                                        followers: number;
                                        handle: string;
                                        id: string;
                                        name: string;
                                        photoUrl: (...)
                                        | (...);
                                        verified: boolean;
                                    }
                                    | null;
                                emoji: string;
                                id: string;
                                imageUrl: string
                                | null;
                                jobs: {
                                    attempts: number;
                                    createdAt: string;
                                    credits: number;
                                    error: (...) | (...);
                                    finishedAt: (...) | (...);
                                    id: string;
                                    kind: (...) | (...) | (...) | (...);
                                    maxAttempts: number;
                                    provider: string;
                                    status: (...) | (...) | (...) | (...) | (...) | (...) | (...);
                                }[];
                                name: string;
                                offer: | {
                                    assets: (...)[];
                                    blocker: (...) | (...);
                                    channel: string;
                                    creatorId: string;
                                    expiresAt: string;
                                    format: string;
                                    id: string;
                                    keep: string;
                                    media: (...)[];
                                    message: string;
                                    portfolio: boolean;
                                    postDate: string;
                                    region: string;
                                    rejectReason: (...) | (...);
                                    respondedAt: (...) | (...);
                                    rightsEnd: string;
                                    rightsStart: string;
                                    sentAt: string;
                                    status: (...) | (...) | (...) | (...) | (...);
                                    thread: (...)[];
                                }
                                | null;
                                order: | {
                                    blocked: (...)
                                    | (...);
                                    comments: (...)[];
                                    confirmedAt: string;
                                    creatorMetricsDone: boolean;
                                    id: string;
                                    metrics: (...)[];
                                    outputUrl: (...) | (...);
                                    paidAt: (...) | (...);
                                    payoutStatus: (...) | (...) | (...) | (...);
                                    proof: (...) | (...);
                                    qa: string;
                                    revisionsLeft: number;
                                    usesVoice: boolean;
                                    version: number;
                                }
                                | null;
                                orgId: string;
                                orgName: string;
                                pastOffers: {
                                    at: string;
                                    creatorId: string;
                                    creatorName: string;
                                    id: string;
                                    note: string;
                                    status: (...)
                                    | (...)
                                    | (...);
                                }[];
                                payout: number
                                | null;
                                price: number | null;
                                productId: string;
                                stage:
                                    | "done"
                                    | "accepted"
                                    | "storyboard"
                                    | "cancelled"
                                    | "matching"
                                    | "offer"
                                    | "producing"
                                    | "creator_review"
                                    | "advertiser_review"
                                    | "approved"
                                    | "published";
                                stageLabel: string;
                                storyboard: {
                                    approved: { at: ...; by: ...; no: ...; version: ... }
                                    | null;
                                    batch: number;
                                    history: { at: ...; by: ...; detail: ...; title: ...; tone?: ... }[];
                                    notes: string[];
                                    options: {
                                        cta: ...;
                                        exposure: ...;
                                        no: ...;
                                        qa: ...;
                                        scenes: ...;
                                        summary: ...;
                                        title: ...;
                                        version: ...;
                                    }[];
                                    regenerationsLeft: number;
                                    sample: "generating"
                                    | "ready"
                                    | "none";
                                    sampleAudioUrl: string | null;
                                    sampleUrl: string | null;
                                    selected: number;
                                    status: "failed" | "generating" | "ready";
                                    versions: number[];
                                };
                                type: "AI"
                                | "Direct";
                                updatedAt: string;
                            }[];
                            page: number;
                            pageSize: number;
                            total: number;
                        },
                    >;
                    openDispute: (
                        campaignId: string,
                        input: { text: string; title: string },
                    ) => Promise<
                        {
                            brief: {
                                ban: string;
                                channels: string[];
                                cta: string;
                                disclosure: string;
                                goal: string;
                                length: number;
                                message: string;
                                mustSay: string;
                                scene: string;
                                target: string;
                                tone: string;
                            };
                            cancelReason: string
                            | null;
                            code: string;
                            createdAt: string;
                            creator:
                                | {
                                    category: string;
                                    color: string;
                                    engagement: number;
                                    followers: number;
                                    handle: string;
                                    id: string;
                                    name: string;
                                    photoUrl: string
                                    | null;
                                    verified: boolean;
                                }
                                | null;
                            emoji: string;
                            id: string;
                            imageUrl: string
                            | null;
                            jobs: {
                                attempts: number;
                                createdAt: string;
                                credits: number;
                                error: string | null;
                                finishedAt: string | null;
                                id: string;
                                kind: "storyboard" | "revision" | "sample" | "final";
                                maxAttempts: number;
                                provider: string;
                                status:
                                    | "failed"
                                    | "done"
                                    | "queued"
                                    | "running"
                                    | "retry"
                                    | "blocked"
                                    | "cancelled";
                            }[];
                            name: string;
                            offer: | {
                                assets: string[];
                                blocker: string
                                | null;
                                channel: string;
                                creatorId: string;
                                expiresAt: string;
                                format: string;
                                id: string;
                                keep: string;
                                media: string[];
                                message: string;
                                portfolio: boolean;
                                postDate: string;
                                region: string;
                                rejectReason: string | null;
                                respondedAt: string | null;
                                rightsEnd: string;
                                rightsStart: string;
                                sentAt: string;
                                status: "withdrawn" | "sent" | "accepted" | "rejected" | "expired";
                                thread: {
                                    at: string;
                                    by: (...) | (...) | (...) | (...);
                                    name: string;
                                    tag?: (...) | (...);
                                    text: string;
                                }[];
                            }
                            | null;
                            order: | {
                                blocked: string
                                | null;
                                comments: {
                                    at: string;
                                    by: (...) | (...) | (...) | (...);
                                    name: string;
                                    tag?: (...) | (...);
                                    text: string;
                                }[];
                                confirmedAt: string;
                                creatorMetricsDone: boolean;
                                id: string;
                                metrics: {
                                    at: string;
                                    by: string;
                                    id: string;
                                    name: string;
                                    period: string;
                                    source: (...)
                                    | (...)
                                    | (...);
                                    value: number;
                                    verified: boolean;
                                }[];
                                outputUrl: string
                                | null;
                                paidAt: string | null;
                                payoutStatus: "paid" | "progress" | "scheduled" | "hold";
                                proof:
                                    | { at: string; captures: number; url: string; verified: boolean }
                                    | null;
                                qa: string;
                                revisionsLeft: number;
                                usesVoice: boolean;
                                version: number;
                            }
                            | null;
                            orgId: string;
                            orgName: string;
                            pastOffers: {
                                at: string;
                                creatorId: string;
                                creatorName: string;
                                id: string;
                                note: string;
                                status: "withdrawn"
                                | "rejected"
                                | "expired";
                            }[];
                            payout: number
                            | null;
                            price: number | null;
                            productId: string;
                            stage:
                                | "done"
                                | "accepted"
                                | "storyboard"
                                | "cancelled"
                                | "matching"
                                | "offer"
                                | "producing"
                                | "creator_review"
                                | "advertiser_review"
                                | "approved"
                                | "published";
                            stageLabel: string;
                            storyboard: {
                                approved: | { at: string; by: string; no: number; version: number }
                                | null;
                                batch: number;
                                history: {
                                    at: string;
                                    by: string;
                                    detail: string;
                                    title: string;
                                    tone?: "done" | "warn";
                                }[];
                                notes: string[];
                                options: {
                                    cta: string;
                                    exposure: string;
                                    no: number;
                                    qa: { ok: boolean; text: string };
                                    scenes: { exposure?: ...; line: ...; time: ...; visual: ... }[];
                                    summary: string;
                                    title: string;
                                    version: number;
                                }[];
                                regenerationsLeft: number;
                                sample: "generating"
                                | "ready"
                                | "none";
                                sampleAudioUrl: string | null;
                                sampleUrl: string | null;
                                selected: number;
                                status: "failed" | "generating" | "ready";
                                versions: number[];
                            };
                            type: "AI"
                            | "Direct";
                            updatedAt: string;
                        },
                    >;
                    quote: (
                        campaignId: string,
                        params: { creatorId: string; extraMedia?: number },
                    ) => Promise<
                        {
                            ai: number;
                            charge: number;
                            commission: number;
                            fee: number;
                            ops: number;
                            payout: number;
                            rights: number;
                            total: number;
                            vat: number;
                        },
                    >;
                    regenerate: (
                        campaignId: string,
                    ) => Promise<
                        {
                            brief: {
                                ban: string;
                                channels: string[];
                                cta: string;
                                disclosure: string;
                                goal: string;
                                length: number;
                                message: string;
                                mustSay: string;
                                scene: string;
                                target: string;
                                tone: string;
                            };
                            cancelReason: string
                            | null;
                            code: string;
                            createdAt: string;
                            creator:
                                | {
                                    category: string;
                                    color: string;
                                    engagement: number;
                                    followers: number;
                                    handle: string;
                                    id: string;
                                    name: string;
                                    photoUrl: string
                                    | null;
                                    verified: boolean;
                                }
                                | null;
                            emoji: string;
                            id: string;
                            imageUrl: string
                            | null;
                            jobs: {
                                attempts: number;
                                createdAt: string;
                                credits: number;
                                error: string | null;
                                finishedAt: string | null;
                                id: string;
                                kind: "storyboard" | "revision" | "sample" | "final";
                                maxAttempts: number;
                                provider: string;
                                status:
                                    | "failed"
                                    | "done"
                                    | "queued"
                                    | "running"
                                    | "retry"
                                    | "blocked"
                                    | "cancelled";
                            }[];
                            name: string;
                            offer: | {
                                assets: string[];
                                blocker: string
                                | null;
                                channel: string;
                                creatorId: string;
                                expiresAt: string;
                                format: string;
                                id: string;
                                keep: string;
                                media: string[];
                                message: string;
                                portfolio: boolean;
                                postDate: string;
                                region: string;
                                rejectReason: string | null;
                                respondedAt: string | null;
                                rightsEnd: string;
                                rightsStart: string;
                                sentAt: string;
                                status: "withdrawn" | "sent" | "accepted" | "rejected" | "expired";
                                thread: {
                                    at: string;
                                    by: (...) | (...) | (...) | (...);
                                    name: string;
                                    tag?: (...) | (...);
                                    text: string;
                                }[];
                            }
                            | null;
                            order: | {
                                blocked: string
                                | null;
                                comments: {
                                    at: string;
                                    by: (...) | (...) | (...) | (...);
                                    name: string;
                                    tag?: (...) | (...);
                                    text: string;
                                }[];
                                confirmedAt: string;
                                creatorMetricsDone: boolean;
                                id: string;
                                metrics: {
                                    at: string;
                                    by: string;
                                    id: string;
                                    name: string;
                                    period: string;
                                    source: (...)
                                    | (...)
                                    | (...);
                                    value: number;
                                    verified: boolean;
                                }[];
                                outputUrl: string
                                | null;
                                paidAt: string | null;
                                payoutStatus: "paid" | "progress" | "scheduled" | "hold";
                                proof:
                                    | { at: string; captures: number; url: string; verified: boolean }
                                    | null;
                                qa: string;
                                revisionsLeft: number;
                                usesVoice: boolean;
                                version: number;
                            }
                            | null;
                            orgId: string;
                            orgName: string;
                            pastOffers: {
                                at: string;
                                creatorId: string;
                                creatorName: string;
                                id: string;
                                note: string;
                                status: "withdrawn"
                                | "rejected"
                                | "expired";
                            }[];
                            payout: number
                            | null;
                            price: number | null;
                            productId: string;
                            stage:
                                | "done"
                                | "accepted"
                                | "storyboard"
                                | "cancelled"
                                | "matching"
                                | "offer"
                                | "producing"
                                | "creator_review"
                                | "advertiser_review"
                                | "approved"
                                | "published";
                            stageLabel: string;
                            storyboard: {
                                approved: | { at: string; by: string; no: number; version: number }
                                | null;
                                batch: number;
                                history: {
                                    at: string;
                                    by: string;
                                    detail: string;
                                    title: string;
                                    tone?: "done" | "warn";
                                }[];
                                notes: string[];
                                options: {
                                    cta: string;
                                    exposure: string;
                                    no: number;
                                    qa: { ok: boolean; text: string };
                                    scenes: { exposure?: ...; line: ...; time: ...; visual: ... }[];
                                    summary: string;
                                    title: string;
                                    version: number;
                                }[];
                                regenerationsLeft: number;
                                sample: "generating"
                                | "ready"
                                | "none";
                                sampleAudioUrl: string | null;
                                sampleUrl: string | null;
                                selected: number;
                                status: "failed" | "generating" | "ready";
                                versions: number[];
                            };
                            type: "AI"
                            | "Direct";
                            updatedAt: string;
                        },
                    >;
                    replyOffer: (
                        campaignId: string,
                        text: string,
                    ) => Promise<
                        {
                            brief: {
                                ban: string;
                                channels: string[];
                                cta: string;
                                disclosure: string;
                                goal: string;
                                length: number;
                                message: string;
                                mustSay: string;
                                scene: string;
                                target: string;
                                tone: string;
                            };
                            cancelReason: string
                            | null;
                            code: string;
                            createdAt: string;
                            creator:
                                | {
                                    category: string;
                                    color: string;
                                    engagement: number;
                                    followers: number;
                                    handle: string;
                                    id: string;
                                    name: string;
                                    photoUrl: string
                                    | null;
                                    verified: boolean;
                                }
                                | null;
                            emoji: string;
                            id: string;
                            imageUrl: string
                            | null;
                            jobs: {
                                attempts: number;
                                createdAt: string;
                                credits: number;
                                error: string | null;
                                finishedAt: string | null;
                                id: string;
                                kind: "storyboard" | "revision" | "sample" | "final";
                                maxAttempts: number;
                                provider: string;
                                status:
                                    | "failed"
                                    | "done"
                                    | "queued"
                                    | "running"
                                    | "retry"
                                    | "blocked"
                                    | "cancelled";
                            }[];
                            name: string;
                            offer: | {
                                assets: string[];
                                blocker: string
                                | null;
                                channel: string;
                                creatorId: string;
                                expiresAt: string;
                                format: string;
                                id: string;
                                keep: string;
                                media: string[];
                                message: string;
                                portfolio: boolean;
                                postDate: string;
                                region: string;
                                rejectReason: string | null;
                                respondedAt: string | null;
                                rightsEnd: string;
                                rightsStart: string;
                                sentAt: string;
                                status: "withdrawn" | "sent" | "accepted" | "rejected" | "expired";
                                thread: {
                                    at: string;
                                    by: (...) | (...) | (...) | (...);
                                    name: string;
                                    tag?: (...) | (...);
                                    text: string;
                                }[];
                            }
                            | null;
                            order: | {
                                blocked: string
                                | null;
                                comments: {
                                    at: string;
                                    by: (...) | (...) | (...) | (...);
                                    name: string;
                                    tag?: (...) | (...);
                                    text: string;
                                }[];
                                confirmedAt: string;
                                creatorMetricsDone: boolean;
                                id: string;
                                metrics: {
                                    at: string;
                                    by: string;
                                    id: string;
                                    name: string;
                                    period: string;
                                    source: (...)
                                    | (...)
                                    | (...);
                                    value: number;
                                    verified: boolean;
                                }[];
                                outputUrl: string
                                | null;
                                paidAt: string | null;
                                payoutStatus: "paid" | "progress" | "scheduled" | "hold";
                                proof:
                                    | { at: string; captures: number; url: string; verified: boolean }
                                    | null;
                                qa: string;
                                revisionsLeft: number;
                                usesVoice: boolean;
                                version: number;
                            }
                            | null;
                            orgId: string;
                            orgName: string;
                            pastOffers: {
                                at: string;
                                creatorId: string;
                                creatorName: string;
                                id: string;
                                note: string;
                                status: "withdrawn"
                                | "rejected"
                                | "expired";
                            }[];
                            payout: number
                            | null;
                            price: number | null;
                            productId: string;
                            stage:
                                | "done"
                                | "accepted"
                                | "storyboard"
                                | "cancelled"
                                | "matching"
                                | "offer"
                                | "producing"
                                | "creator_review"
                                | "advertiser_review"
                                | "approved"
                                | "published";
                            stageLabel: string;
                            storyboard: {
                                approved: | { at: string; by: string; no: number; version: number }
                                | null;
                                batch: number;
                                history: {
                                    at: string;
                                    by: string;
                                    detail: string;
                                    title: string;
                                    tone?: "done" | "warn";
                                }[];
                                notes: string[];
                                options: {
                                    cta: string;
                                    exposure: string;
                                    no: number;
                                    qa: { ok: boolean; text: string };
                                    scenes: { exposure?: ...; line: ...; time: ...; visual: ... }[];
                                    summary: string;
                                    title: string;
                                    version: number;
                                }[];
                                regenerationsLeft: number;
                                sample: "generating"
                                | "ready"
                                | "none";
                                sampleAudioUrl: string | null;
                                sampleUrl: string | null;
                                selected: number;
                                status: "failed" | "generating" | "ready";
                                versions: number[];
                            };
                            type: "AI"
                            | "Direct";
                            updatedAt: string;
                        },
                    >;
                    requestOutputRevision: (
                        campaignId: string,
                        text: string,
                    ) => Promise<
                        {
                            brief: {
                                ban: string;
                                channels: string[];
                                cta: string;
                                disclosure: string;
                                goal: string;
                                length: number;
                                message: string;
                                mustSay: string;
                                scene: string;
                                target: string;
                                tone: string;
                            };
                            cancelReason: string
                            | null;
                            code: string;
                            createdAt: string;
                            creator:
                                | {
                                    category: string;
                                    color: string;
                                    engagement: number;
                                    followers: number;
                                    handle: string;
                                    id: string;
                                    name: string;
                                    photoUrl: string
                                    | null;
                                    verified: boolean;
                                }
                                | null;
                            emoji: string;
                            id: string;
                            imageUrl: string
                            | null;
                            jobs: {
                                attempts: number;
                                createdAt: string;
                                credits: number;
                                error: string | null;
                                finishedAt: string | null;
                                id: string;
                                kind: "storyboard" | "revision" | "sample" | "final";
                                maxAttempts: number;
                                provider: string;
                                status:
                                    | "failed"
                                    | "done"
                                    | "queued"
                                    | "running"
                                    | "retry"
                                    | "blocked"
                                    | "cancelled";
                            }[];
                            name: string;
                            offer: | {
                                assets: string[];
                                blocker: string
                                | null;
                                channel: string;
                                creatorId: string;
                                expiresAt: string;
                                format: string;
                                id: string;
                                keep: string;
                                media: string[];
                                message: string;
                                portfolio: boolean;
                                postDate: string;
                                region: string;
                                rejectReason: string | null;
                                respondedAt: string | null;
                                rightsEnd: string;
                                rightsStart: string;
                                sentAt: string;
                                status: "withdrawn" | "sent" | "accepted" | "rejected" | "expired";
                                thread: {
                                    at: string;
                                    by: (...) | (...) | (...) | (...);
                                    name: string;
                                    tag?: (...) | (...);
                                    text: string;
                                }[];
                            }
                            | null;
                            order: | {
                                blocked: string
                                | null;
                                comments: {
                                    at: string;
                                    by: (...) | (...) | (...) | (...);
                                    name: string;
                                    tag?: (...) | (...);
                                    text: string;
                                }[];
                                confirmedAt: string;
                                creatorMetricsDone: boolean;
                                id: string;
                                metrics: {
                                    at: string;
                                    by: string;
                                    id: string;
                                    name: string;
                                    period: string;
                                    source: (...)
                                    | (...)
                                    | (...);
                                    value: number;
                                    verified: boolean;
                                }[];
                                outputUrl: string
                                | null;
                                paidAt: string | null;
                                payoutStatus: "paid" | "progress" | "scheduled" | "hold";
                                proof:
                                    | { at: string; captures: number; url: string; verified: boolean }
                                    | null;
                                qa: string;
                                revisionsLeft: number;
                                usesVoice: boolean;
                                version: number;
                            }
                            | null;
                            orgId: string;
                            orgName: string;
                            pastOffers: {
                                at: string;
                                creatorId: string;
                                creatorName: string;
                                id: string;
                                note: string;
                                status: "withdrawn"
                                | "rejected"
                                | "expired";
                            }[];
                            payout: number
                            | null;
                            price: number | null;
                            productId: string;
                            stage:
                                | "done"
                                | "accepted"
                                | "storyboard"
                                | "cancelled"
                                | "matching"
                                | "offer"
                                | "producing"
                                | "creator_review"
                                | "advertiser_review"
                                | "approved"
                                | "published";
                            stageLabel: string;
                            storyboard: {
                                approved: | { at: string; by: string; no: number; version: number }
                                | null;
                                batch: number;
                                history: {
                                    at: string;
                                    by: string;
                                    detail: string;
                                    title: string;
                                    tone?: "done" | "warn";
                                }[];
                                notes: string[];
                                options: {
                                    cta: string;
                                    exposure: string;
                                    no: number;
                                    qa: { ok: boolean; text: string };
                                    scenes: { exposure?: ...; line: ...; time: ...; visual: ... }[];
                                    summary: string;
                                    title: string;
                                    version: number;
                                }[];
                                regenerationsLeft: number;
                                sample: "generating"
                                | "ready"
                                | "none";
                                sampleAudioUrl: string | null;
                                sampleUrl: string | null;
                                selected: number;
                                status: "failed" | "generating" | "ready";
                                versions: number[];
                            };
                            type: "AI"
                            | "Direct";
                            updatedAt: string;
                        },
                    >;
                    requestRefund: (
                        campaignId: string,
                        input: { amount?: number; reason: string },
                    ) => Promise<
                        {
                            brief: {
                                ban: string;
                                channels: string[];
                                cta: string;
                                disclosure: string;
                                goal: string;
                                length: number;
                                message: string;
                                mustSay: string;
                                scene: string;
                                target: string;
                                tone: string;
                            };
                            cancelReason: string
                            | null;
                            code: string;
                            createdAt: string;
                            creator:
                                | {
                                    category: string;
                                    color: string;
                                    engagement: number;
                                    followers: number;
                                    handle: string;
                                    id: string;
                                    name: string;
                                    photoUrl: string
                                    | null;
                                    verified: boolean;
                                }
                                | null;
                            emoji: string;
                            id: string;
                            imageUrl: string
                            | null;
                            jobs: {
                                attempts: number;
                                createdAt: string;
                                credits: number;
                                error: string | null;
                                finishedAt: string | null;
                                id: string;
                                kind: "storyboard" | "revision" | "sample" | "final";
                                maxAttempts: number;
                                provider: string;
                                status:
                                    | "failed"
                                    | "done"
                                    | "queued"
                                    | "running"
                                    | "retry"
                                    | "blocked"
                                    | "cancelled";
                            }[];
                            name: string;
                            offer: | {
                                assets: string[];
                                blocker: string
                                | null;
                                channel: string;
                                creatorId: string;
                                expiresAt: string;
                                format: string;
                                id: string;
                                keep: string;
                                media: string[];
                                message: string;
                                portfolio: boolean;
                                postDate: string;
                                region: string;
                                rejectReason: string | null;
                                respondedAt: string | null;
                                rightsEnd: string;
                                rightsStart: string;
                                sentAt: string;
                                status: "withdrawn" | "sent" | "accepted" | "rejected" | "expired";
                                thread: {
                                    at: string;
                                    by: (...) | (...) | (...) | (...);
                                    name: string;
                                    tag?: (...) | (...);
                                    text: string;
                                }[];
                            }
                            | null;
                            order: | {
                                blocked: string
                                | null;
                                comments: {
                                    at: string;
                                    by: (...) | (...) | (...) | (...);
                                    name: string;
                                    tag?: (...) | (...);
                                    text: string;
                                }[];
                                confirmedAt: string;
                                creatorMetricsDone: boolean;
                                id: string;
                                metrics: {
                                    at: string;
                                    by: string;
                                    id: string;
                                    name: string;
                                    period: string;
                                    source: (...)
                                    | (...)
                                    | (...);
                                    value: number;
                                    verified: boolean;
                                }[];
                                outputUrl: string
                                | null;
                                paidAt: string | null;
                                payoutStatus: "paid" | "progress" | "scheduled" | "hold";
                                proof:
                                    | { at: string; captures: number; url: string; verified: boolean }
                                    | null;
                                qa: string;
                                revisionsLeft: number;
                                usesVoice: boolean;
                                version: number;
                            }
                            | null;
                            orgId: string;
                            orgName: string;
                            pastOffers: {
                                at: string;
                                creatorId: string;
                                creatorName: string;
                                id: string;
                                note: string;
                                status: "withdrawn"
                                | "rejected"
                                | "expired";
                            }[];
                            payout: number
                            | null;
                            price: number | null;
                            productId: string;
                            stage:
                                | "done"
                                | "accepted"
                                | "storyboard"
                                | "cancelled"
                                | "matching"
                                | "offer"
                                | "producing"
                                | "creator_review"
                                | "advertiser_review"
                                | "approved"
                                | "published";
                            stageLabel: string;
                            storyboard: {
                                approved: | { at: string; by: string; no: number; version: number }
                                | null;
                                batch: number;
                                history: {
                                    at: string;
                                    by: string;
                                    detail: string;
                                    title: string;
                                    tone?: "done" | "warn";
                                }[];
                                notes: string[];
                                options: {
                                    cta: string;
                                    exposure: string;
                                    no: number;
                                    qa: { ok: boolean; text: string };
                                    scenes: { exposure?: ...; line: ...; time: ...; visual: ... }[];
                                    summary: string;
                                    title: string;
                                    version: number;
                                }[];
                                regenerationsLeft: number;
                                sample: "generating"
                                | "ready"
                                | "none";
                                sampleAudioUrl: string | null;
                                sampleUrl: string | null;
                                selected: number;
                                status: "failed" | "generating" | "ready";
                                versions: number[];
                            };
                            type: "AI"
                            | "Direct";
                            updatedAt: string;
                        },
                    >;
                    requestRevision: (
                        campaignId: string,
                        input: { no: number; note: string },
                    ) => Promise<
                        {
                            brief: {
                                ban: string;
                                channels: string[];
                                cta: string;
                                disclosure: string;
                                goal: string;
                                length: number;
                                message: string;
                                mustSay: string;
                                scene: string;
                                target: string;
                                tone: string;
                            };
                            cancelReason: string
                            | null;
                            code: string;
                            createdAt: string;
                            creator:
                                | {
                                    category: string;
                                    color: string;
                                    engagement: number;
                                    followers: number;
                                    handle: string;
                                    id: string;
                                    name: string;
                                    photoUrl: string
                                    | null;
                                    verified: boolean;
                                }
                                | null;
                            emoji: string;
                            id: string;
                            imageUrl: string
                            | null;
                            jobs: {
                                attempts: number;
                                createdAt: string;
                                credits: number;
                                error: string | null;
                                finishedAt: string | null;
                                id: string;
                                kind: "storyboard" | "revision" | "sample" | "final";
                                maxAttempts: number;
                                provider: string;
                                status:
                                    | "failed"
                                    | "done"
                                    | "queued"
                                    | "running"
                                    | "retry"
                                    | "blocked"
                                    | "cancelled";
                            }[];
                            name: string;
                            offer: | {
                                assets: string[];
                                blocker: string
                                | null;
                                channel: string;
                                creatorId: string;
                                expiresAt: string;
                                format: string;
                                id: string;
                                keep: string;
                                media: string[];
                                message: string;
                                portfolio: boolean;
                                postDate: string;
                                region: string;
                                rejectReason: string | null;
                                respondedAt: string | null;
                                rightsEnd: string;
                                rightsStart: string;
                                sentAt: string;
                                status: "withdrawn" | "sent" | "accepted" | "rejected" | "expired";
                                thread: {
                                    at: string;
                                    by: (...) | (...) | (...) | (...);
                                    name: string;
                                    tag?: (...) | (...);
                                    text: string;
                                }[];
                            }
                            | null;
                            order: | {
                                blocked: string
                                | null;
                                comments: {
                                    at: string;
                                    by: (...) | (...) | (...) | (...);
                                    name: string;
                                    tag?: (...) | (...);
                                    text: string;
                                }[];
                                confirmedAt: string;
                                creatorMetricsDone: boolean;
                                id: string;
                                metrics: {
                                    at: string;
                                    by: string;
                                    id: string;
                                    name: string;
                                    period: string;
                                    source: (...)
                                    | (...)
                                    | (...);
                                    value: number;
                                    verified: boolean;
                                }[];
                                outputUrl: string
                                | null;
                                paidAt: string | null;
                                payoutStatus: "paid" | "progress" | "scheduled" | "hold";
                                proof:
                                    | { at: string; captures: number; url: string; verified: boolean }
                                    | null;
                                qa: string;
                                revisionsLeft: number;
                                usesVoice: boolean;
                                version: number;
                            }
                            | null;
                            orgId: string;
                            orgName: string;
                            pastOffers: {
                                at: string;
                                creatorId: string;
                                creatorName: string;
                                id: string;
                                note: string;
                                status: "withdrawn"
                                | "rejected"
                                | "expired";
                            }[];
                            payout: number
                            | null;
                            price: number | null;
                            productId: string;
                            stage:
                                | "done"
                                | "accepted"
                                | "storyboard"
                                | "cancelled"
                                | "matching"
                                | "offer"
                                | "producing"
                                | "creator_review"
                                | "advertiser_review"
                                | "approved"
                                | "published";
                            stageLabel: string;
                            storyboard: {
                                approved: | { at: string; by: string; no: number; version: number }
                                | null;
                                batch: number;
                                history: {
                                    at: string;
                                    by: string;
                                    detail: string;
                                    title: string;
                                    tone?: "done" | "warn";
                                }[];
                                notes: string[];
                                options: {
                                    cta: string;
                                    exposure: string;
                                    no: number;
                                    qa: { ok: boolean; text: string };
                                    scenes: { exposure?: ...; line: ...; time: ...; visual: ... }[];
                                    summary: string;
                                    title: string;
                                    version: number;
                                }[];
                                regenerationsLeft: number;
                                sample: "generating"
                                | "ready"
                                | "none";
                                sampleAudioUrl: string | null;
                                sampleUrl: string | null;
                                selected: number;
                                status: "failed" | "generating" | "ready";
                                versions: number[];
                            };
                            type: "AI"
                            | "Direct";
                            updatedAt: string;
                        },
                    >;
                    requestSample: (
                        campaignId: string,
                    ) => Promise<
                        {
                            brief: {
                                ban: string;
                                channels: string[];
                                cta: string;
                                disclosure: string;
                                goal: string;
                                length: number;
                                message: string;
                                mustSay: string;
                                scene: string;
                                target: string;
                                tone: string;
                            };
                            cancelReason: string
                            | null;
                            code: string;
                            createdAt: string;
                            creator:
                                | {
                                    category: string;
                                    color: string;
                                    engagement: number;
                                    followers: number;
                                    handle: string;
                                    id: string;
                                    name: string;
                                    photoUrl: string
                                    | null;
                                    verified: boolean;
                                }
                                | null;
                            emoji: string;
                            id: string;
                            imageUrl: string
                            | null;
                            jobs: {
                                attempts: number;
                                createdAt: string;
                                credits: number;
                                error: string | null;
                                finishedAt: string | null;
                                id: string;
                                kind: "storyboard" | "revision" | "sample" | "final";
                                maxAttempts: number;
                                provider: string;
                                status:
                                    | "failed"
                                    | "done"
                                    | "queued"
                                    | "running"
                                    | "retry"
                                    | "blocked"
                                    | "cancelled";
                            }[];
                            name: string;
                            offer: | {
                                assets: string[];
                                blocker: string
                                | null;
                                channel: string;
                                creatorId: string;
                                expiresAt: string;
                                format: string;
                                id: string;
                                keep: string;
                                media: string[];
                                message: string;
                                portfolio: boolean;
                                postDate: string;
                                region: string;
                                rejectReason: string | null;
                                respondedAt: string | null;
                                rightsEnd: string;
                                rightsStart: string;
                                sentAt: string;
                                status: "withdrawn" | "sent" | "accepted" | "rejected" | "expired";
                                thread: {
                                    at: string;
                                    by: (...) | (...) | (...) | (...);
                                    name: string;
                                    tag?: (...) | (...);
                                    text: string;
                                }[];
                            }
                            | null;
                            order: | {
                                blocked: string
                                | null;
                                comments: {
                                    at: string;
                                    by: (...) | (...) | (...) | (...);
                                    name: string;
                                    tag?: (...) | (...);
                                    text: string;
                                }[];
                                confirmedAt: string;
                                creatorMetricsDone: boolean;
                                id: string;
                                metrics: {
                                    at: string;
                                    by: string;
                                    id: string;
                                    name: string;
                                    period: string;
                                    source: (...)
                                    | (...)
                                    | (...);
                                    value: number;
                                    verified: boolean;
                                }[];
                                outputUrl: string
                                | null;
                                paidAt: string | null;
                                payoutStatus: "paid" | "progress" | "scheduled" | "hold";
                                proof:
                                    | { at: string; captures: number; url: string; verified: boolean }
                                    | null;
                                qa: string;
                                revisionsLeft: number;
                                usesVoice: boolean;
                                version: number;
                            }
                            | null;
                            orgId: string;
                            orgName: string;
                            pastOffers: {
                                at: string;
                                creatorId: string;
                                creatorName: string;
                                id: string;
                                note: string;
                                status: "withdrawn"
                                | "rejected"
                                | "expired";
                            }[];
                            payout: number
                            | null;
                            price: number | null;
                            productId: string;
                            stage:
                                | "done"
                                | "accepted"
                                | "storyboard"
                                | "cancelled"
                                | "matching"
                                | "offer"
                                | "producing"
                                | "creator_review"
                                | "advertiser_review"
                                | "approved"
                                | "published";
                            stageLabel: string;
                            storyboard: {
                                approved: | { at: string; by: string; no: number; version: number }
                                | null;
                                batch: number;
                                history: {
                                    at: string;
                                    by: string;
                                    detail: string;
                                    title: string;
                                    tone?: "done" | "warn";
                                }[];
                                notes: string[];
                                options: {
                                    cta: string;
                                    exposure: string;
                                    no: number;
                                    qa: { ok: boolean; text: string };
                                    scenes: { exposure?: ...; line: ...; time: ...; visual: ... }[];
                                    summary: string;
                                    title: string;
                                    version: number;
                                }[];
                                regenerationsLeft: number;
                                sample: "generating"
                                | "ready"
                                | "none";
                                sampleAudioUrl: string | null;
                                sampleUrl: string | null;
                                selected: number;
                                status: "failed" | "generating" | "ready";
                                versions: number[];
                            };
                            type: "AI"
                            | "Direct";
                            updatedAt: string;
                        },
                    >;
                    selectStory: (
                        campaignId: string,
                        no: number,
                    ) => Promise<
                        {
                            brief: {
                                ban: string;
                                channels: string[];
                                cta: string;
                                disclosure: string;
                                goal: string;
                                length: number;
                                message: string;
                                mustSay: string;
                                scene: string;
                                target: string;
                                tone: string;
                            };
                            cancelReason: string
                            | null;
                            code: string;
                            createdAt: string;
                            creator:
                                | {
                                    category: string;
                                    color: string;
                                    engagement: number;
                                    followers: number;
                                    handle: string;
                                    id: string;
                                    name: string;
                                    photoUrl: string
                                    | null;
                                    verified: boolean;
                                }
                                | null;
                            emoji: string;
                            id: string;
                            imageUrl: string
                            | null;
                            jobs: {
                                attempts: number;
                                createdAt: string;
                                credits: number;
                                error: string | null;
                                finishedAt: string | null;
                                id: string;
                                kind: "storyboard" | "revision" | "sample" | "final";
                                maxAttempts: number;
                                provider: string;
                                status:
                                    | "failed"
                                    | "done"
                                    | "queued"
                                    | "running"
                                    | "retry"
                                    | "blocked"
                                    | "cancelled";
                            }[];
                            name: string;
                            offer: | {
                                assets: string[];
                                blocker: string
                                | null;
                                channel: string;
                                creatorId: string;
                                expiresAt: string;
                                format: string;
                                id: string;
                                keep: string;
                                media: string[];
                                message: string;
                                portfolio: boolean;
                                postDate: string;
                                region: string;
                                rejectReason: string | null;
                                respondedAt: string | null;
                                rightsEnd: string;
                                rightsStart: string;
                                sentAt: string;
                                status: "withdrawn" | "sent" | "accepted" | "rejected" | "expired";
                                thread: {
                                    at: string;
                                    by: (...) | (...) | (...) | (...);
                                    name: string;
                                    tag?: (...) | (...);
                                    text: string;
                                }[];
                            }
                            | null;
                            order: | {
                                blocked: string
                                | null;
                                comments: {
                                    at: string;
                                    by: (...) | (...) | (...) | (...);
                                    name: string;
                                    tag?: (...) | (...);
                                    text: string;
                                }[];
                                confirmedAt: string;
                                creatorMetricsDone: boolean;
                                id: string;
                                metrics: {
                                    at: string;
                                    by: string;
                                    id: string;
                                    name: string;
                                    period: string;
                                    source: (...)
                                    | (...)
                                    | (...);
                                    value: number;
                                    verified: boolean;
                                }[];
                                outputUrl: string
                                | null;
                                paidAt: string | null;
                                payoutStatus: "paid" | "progress" | "scheduled" | "hold";
                                proof:
                                    | { at: string; captures: number; url: string; verified: boolean }
                                    | null;
                                qa: string;
                                revisionsLeft: number;
                                usesVoice: boolean;
                                version: number;
                            }
                            | null;
                            orgId: string;
                            orgName: string;
                            pastOffers: {
                                at: string;
                                creatorId: string;
                                creatorName: string;
                                id: string;
                                note: string;
                                status: "withdrawn"
                                | "rejected"
                                | "expired";
                            }[];
                            payout: number
                            | null;
                            price: number | null;
                            productId: string;
                            stage:
                                | "done"
                                | "accepted"
                                | "storyboard"
                                | "cancelled"
                                | "matching"
                                | "offer"
                                | "producing"
                                | "creator_review"
                                | "advertiser_review"
                                | "approved"
                                | "published";
                            stageLabel: string;
                            storyboard: {
                                approved: | { at: string; by: string; no: number; version: number }
                                | null;
                                batch: number;
                                history: {
                                    at: string;
                                    by: string;
                                    detail: string;
                                    title: string;
                                    tone?: "done" | "warn";
                                }[];
                                notes: string[];
                                options: {
                                    cta: string;
                                    exposure: string;
                                    no: number;
                                    qa: { ok: boolean; text: string };
                                    scenes: { exposure?: ...; line: ...; time: ...; visual: ... }[];
                                    summary: string;
                                    title: string;
                                    version: number;
                                }[];
                                regenerationsLeft: number;
                                sample: "generating"
                                | "ready"
                                | "none";
                                sampleAudioUrl: string | null;
                                sampleUrl: string | null;
                                selected: number;
                                status: "failed" | "generating" | "ready";
                                versions: number[];
                            };
                            type: "AI"
                            | "Direct";
                            updatedAt: string;
                        },
                    >;
                    sendOffer: (
                        campaignId: string,
                        input: {
                            assets: string[];
                            channel: string;
                            creatorId: string;
                            format: string;
                            keep: string;
                            media: string[];
                            message: string;
                            portfolio: boolean;
                            postDate: string;
                            region: string;
                            rightsEnd: string;
                            rightsStart: string;
                        },
                    ) => Promise<
                        {
                            brief: {
                                ban: string;
                                channels: string[];
                                cta: string;
                                disclosure: string;
                                goal: string;
                                length: number;
                                message: string;
                                mustSay: string;
                                scene: string;
                                target: string;
                                tone: string;
                            };
                            cancelReason: string
                            | null;
                            code: string;
                            createdAt: string;
                            creator:
                                | {
                                    category: string;
                                    color: string;
                                    engagement: number;
                                    followers: number;
                                    handle: string;
                                    id: string;
                                    name: string;
                                    photoUrl: string
                                    | null;
                                    verified: boolean;
                                }
                                | null;
                            emoji: string;
                            id: string;
                            imageUrl: string
                            | null;
                            jobs: {
                                attempts: number;
                                createdAt: string;
                                credits: number;
                                error: string | null;
                                finishedAt: string | null;
                                id: string;
                                kind: "storyboard" | "revision" | "sample" | "final";
                                maxAttempts: number;
                                provider: string;
                                status:
                                    | "failed"
                                    | "done"
                                    | "queued"
                                    | "running"
                                    | "retry"
                                    | "blocked"
                                    | "cancelled";
                            }[];
                            name: string;
                            offer: | {
                                assets: string[];
                                blocker: string
                                | null;
                                channel: string;
                                creatorId: string;
                                expiresAt: string;
                                format: string;
                                id: string;
                                keep: string;
                                media: string[];
                                message: string;
                                portfolio: boolean;
                                postDate: string;
                                region: string;
                                rejectReason: string | null;
                                respondedAt: string | null;
                                rightsEnd: string;
                                rightsStart: string;
                                sentAt: string;
                                status: "withdrawn" | "sent" | "accepted" | "rejected" | "expired";
                                thread: {
                                    at: string;
                                    by: (...) | (...) | (...) | (...);
                                    name: string;
                                    tag?: (...) | (...);
                                    text: string;
                                }[];
                            }
                            | null;
                            order: | {
                                blocked: string
                                | null;
                                comments: {
                                    at: string;
                                    by: (...) | (...) | (...) | (...);
                                    name: string;
                                    tag?: (...) | (...);
                                    text: string;
                                }[];
                                confirmedAt: string;
                                creatorMetricsDone: boolean;
                                id: string;
                                metrics: {
                                    at: string;
                                    by: string;
                                    id: string;
                                    name: string;
                                    period: string;
                                    source: (...)
                                    | (...)
                                    | (...);
                                    value: number;
                                    verified: boolean;
                                }[];
                                outputUrl: string
                                | null;
                                paidAt: string | null;
                                payoutStatus: "paid" | "progress" | "scheduled" | "hold";
                                proof:
                                    | { at: string; captures: number; url: string; verified: boolean }
                                    | null;
                                qa: string;
                                revisionsLeft: number;
                                usesVoice: boolean;
                                version: number;
                            }
                            | null;
                            orgId: string;
                            orgName: string;
                            pastOffers: {
                                at: string;
                                creatorId: string;
                                creatorName: string;
                                id: string;
                                note: string;
                                status: "withdrawn"
                                | "rejected"
                                | "expired";
                            }[];
                            payout: number
                            | null;
                            price: number | null;
                            productId: string;
                            stage:
                                | "done"
                                | "accepted"
                                | "storyboard"
                                | "cancelled"
                                | "matching"
                                | "offer"
                                | "producing"
                                | "creator_review"
                                | "advertiser_review"
                                | "approved"
                                | "published";
                            stageLabel: string;
                            storyboard: {
                                approved: | { at: string; by: string; no: number; version: number }
                                | null;
                                batch: number;
                                history: {
                                    at: string;
                                    by: string;
                                    detail: string;
                                    title: string;
                                    tone?: "done" | "warn";
                                }[];
                                notes: string[];
                                options: {
                                    cta: string;
                                    exposure: string;
                                    no: number;
                                    qa: { ok: boolean; text: string };
                                    scenes: { exposure?: ...; line: ...; time: ...; visual: ... }[];
                                    summary: string;
                                    title: string;
                                    version: number;
                                }[];
                                regenerationsLeft: number;
                                sample: "generating"
                                | "ready"
                                | "none";
                                sampleAudioUrl: string | null;
                                sampleUrl: string | null;
                                selected: number;
                                status: "failed" | "generating" | "ready";
                                versions: number[];
                            };
                            type: "AI"
                            | "Direct";
                            updatedAt: string;
                        },
                    >;
                    withdrawOffer: (
                        campaignId: string,
                    ) => Promise<
                        {
                            brief: {
                                ban: string;
                                channels: string[];
                                cta: string;
                                disclosure: string;
                                goal: string;
                                length: number;
                                message: string;
                                mustSay: string;
                                scene: string;
                                target: string;
                                tone: string;
                            };
                            cancelReason: string
                            | null;
                            code: string;
                            createdAt: string;
                            creator:
                                | {
                                    category: string;
                                    color: string;
                                    engagement: number;
                                    followers: number;
                                    handle: string;
                                    id: string;
                                    name: string;
                                    photoUrl: string
                                    | null;
                                    verified: boolean;
                                }
                                | null;
                            emoji: string;
                            id: string;
                            imageUrl: string
                            | null;
                            jobs: {
                                attempts: number;
                                createdAt: string;
                                credits: number;
                                error: string | null;
                                finishedAt: string | null;
                                id: string;
                                kind: "storyboard" | "revision" | "sample" | "final";
                                maxAttempts: number;
                                provider: string;
                                status:
                                    | "failed"
                                    | "done"
                                    | "queued"
                                    | "running"
                                    | "retry"
                                    | "blocked"
                                    | "cancelled";
                            }[];
                            name: string;
                            offer: | {
                                assets: string[];
                                blocker: string
                                | null;
                                channel: string;
                                creatorId: string;
                                expiresAt: string;
                                format: string;
                                id: string;
                                keep: string;
                                media: string[];
                                message: string;
                                portfolio: boolean;
                                postDate: string;
                                region: string;
                                rejectReason: string | null;
                                respondedAt: string | null;
                                rightsEnd: string;
                                rightsStart: string;
                                sentAt: string;
                                status: "withdrawn" | "sent" | "accepted" | "rejected" | "expired";
                                thread: {
                                    at: string;
                                    by: (...) | (...) | (...) | (...);
                                    name: string;
                                    tag?: (...) | (...);
                                    text: string;
                                }[];
                            }
                            | null;
                            order: | {
                                blocked: string
                                | null;
                                comments: {
                                    at: string;
                                    by: (...) | (...) | (...) | (...);
                                    name: string;
                                    tag?: (...) | (...);
                                    text: string;
                                }[];
                                confirmedAt: string;
                                creatorMetricsDone: boolean;
                                id: string;
                                metrics: {
                                    at: string;
                                    by: string;
                                    id: string;
                                    name: string;
                                    period: string;
                                    source: (...)
                                    | (...)
                                    | (...);
                                    value: number;
                                    verified: boolean;
                                }[];
                                outputUrl: string
                                | null;
                                paidAt: string | null;
                                payoutStatus: "paid" | "progress" | "scheduled" | "hold";
                                proof:
                                    | { at: string; captures: number; url: string; verified: boolean }
                                    | null;
                                qa: string;
                                revisionsLeft: number;
                                usesVoice: boolean;
                                version: number;
                            }
                            | null;
                            orgId: string;
                            orgName: string;
                            pastOffers: {
                                at: string;
                                creatorId: string;
                                creatorName: string;
                                id: string;
                                note: string;
                                status: "withdrawn"
                                | "rejected"
                                | "expired";
                            }[];
                            payout: number
                            | null;
                            price: number | null;
                            productId: string;
                            stage:
                                | "done"
                                | "accepted"
                                | "storyboard"
                                | "cancelled"
                                | "matching"
                                | "offer"
                                | "producing"
                                | "creator_review"
                                | "advertiser_review"
                                | "approved"
                                | "published";
                            stageLabel: string;
                            storyboard: {
                                approved: | { at: string; by: string; no: number; version: number }
                                | null;
                                batch: number;
                                history: {
                                    at: string;
                                    by: string;
                                    detail: string;
                                    title: string;
                                    tone?: "done" | "warn";
                                }[];
                                notes: string[];
                                options: {
                                    cta: string;
                                    exposure: string;
                                    no: number;
                                    qa: { ok: boolean; text: string };
                                    scenes: { exposure?: ...; line: ...; time: ...; visual: ... }[];
                                    summary: string;
                                    title: string;
                                    version: number;
                                }[];
                                regenerationsLeft: number;
                                sample: "generating"
                                | "ready"
                                | "none";
                                sampleAudioUrl: string | null;
                                sampleUrl: string | null;
                                selected: number;
                                status: "failed" | "generating" | "ready";
                                versions: number[];
                            };
                            type: "AI"
                            | "Direct";
                            updatedAt: string;
                        },
                    >;
                };
                creator: {
                    acceptOffer: (
                        campaignId: string,
                    ) => Promise<
                        {
                            brief: {
                                ban: string;
                                channels: string[];
                                cta: string;
                                disclosure: string;
                                goal: string;
                                length: number;
                                message: string;
                                mustSay: string;
                                scene: string;
                                target: string;
                                tone: string;
                            };
                            cancelReason: string
                            | null;
                            code: string;
                            createdAt: string;
                            creator:
                                | {
                                    category: string;
                                    color: string;
                                    engagement: number;
                                    followers: number;
                                    handle: string;
                                    id: string;
                                    name: string;
                                    photoUrl: string
                                    | null;
                                    verified: boolean;
                                }
                                | null;
                            emoji: string;
                            id: string;
                            imageUrl: string
                            | null;
                            jobs: {
                                attempts: number;
                                createdAt: string;
                                credits: number;
                                error: string | null;
                                finishedAt: string | null;
                                id: string;
                                kind: "storyboard" | "revision" | "sample" | "final";
                                maxAttempts: number;
                                provider: string;
                                status:
                                    | "failed"
                                    | "done"
                                    | "queued"
                                    | "running"
                                    | "retry"
                                    | "blocked"
                                    | "cancelled";
                            }[];
                            name: string;
                            offer: | {
                                assets: string[];
                                blocker: string
                                | null;
                                channel: string;
                                creatorId: string;
                                expiresAt: string;
                                format: string;
                                id: string;
                                keep: string;
                                media: string[];
                                message: string;
                                portfolio: boolean;
                                postDate: string;
                                region: string;
                                rejectReason: string | null;
                                respondedAt: string | null;
                                rightsEnd: string;
                                rightsStart: string;
                                sentAt: string;
                                status: "withdrawn" | "sent" | "accepted" | "rejected" | "expired";
                                thread: {
                                    at: string;
                                    by: (...) | (...) | (...) | (...);
                                    name: string;
                                    tag?: (...) | (...);
                                    text: string;
                                }[];
                            }
                            | null;
                            order: | {
                                blocked: string
                                | null;
                                comments: {
                                    at: string;
                                    by: (...) | (...) | (...) | (...);
                                    name: string;
                                    tag?: (...) | (...);
                                    text: string;
                                }[];
                                confirmedAt: string;
                                creatorMetricsDone: boolean;
                                id: string;
                                metrics: {
                                    at: string;
                                    by: string;
                                    id: string;
                                    name: string;
                                    period: string;
                                    source: (...)
                                    | (...)
                                    | (...);
                                    value: number;
                                    verified: boolean;
                                }[];
                                outputUrl: string
                                | null;
                                paidAt: string | null;
                                payoutStatus: "paid" | "progress" | "scheduled" | "hold";
                                proof:
                                    | { at: string; captures: number; url: string; verified: boolean }
                                    | null;
                                qa: string;
                                revisionsLeft: number;
                                usesVoice: boolean;
                                version: number;
                            }
                            | null;
                            orgId: string;
                            orgName: string;
                            pastOffers: {
                                at: string;
                                creatorId: string;
                                creatorName: string;
                                id: string;
                                note: string;
                                status: "withdrawn"
                                | "rejected"
                                | "expired";
                            }[];
                            payout: number
                            | null;
                            price: number | null;
                            productId: string;
                            stage:
                                | "done"
                                | "accepted"
                                | "storyboard"
                                | "cancelled"
                                | "matching"
                                | "offer"
                                | "producing"
                                | "creator_review"
                                | "advertiser_review"
                                | "approved"
                                | "published";
                            stageLabel: string;
                            storyboard: {
                                approved: | { at: string; by: string; no: number; version: number }
                                | null;
                                batch: number;
                                history: {
                                    at: string;
                                    by: string;
                                    detail: string;
                                    title: string;
                                    tone?: "done" | "warn";
                                }[];
                                notes: string[];
                                options: {
                                    cta: string;
                                    exposure: string;
                                    no: number;
                                    qa: { ok: boolean; text: string };
                                    scenes: { exposure?: ...; line: ...; time: ...; visual: ... }[];
                                    summary: string;
                                    title: string;
                                    version: number;
                                }[];
                                regenerationsLeft: number;
                                sample: "generating"
                                | "ready"
                                | "none";
                                sampleAudioUrl: string | null;
                                sampleUrl: string | null;
                                selected: number;
                                status: "failed" | "generating" | "ready";
                                versions: number[];
                            };
                            type: "AI"
                            | "Direct";
                            updatedAt: string;
                        },
                    >;
                    addSocial: (
                        input: { handle: string; mode: "api" | "manual"; platform: string },
                    ) => Promise<
                        {
                            accounts: {
                                handle: string;
                                id: string;
                                lastSync: string
                                | null;
                                mode: "api" | "manual";
                                platform: string;
                                status: "pending" | "connected" | "disconnected";
                                tokenExpiry: string | null;
                            }[];
                            snapshots: {
                                at: string;
                                id: string;
                                metric: string;
                                period: string;
                                platform: string;
                                source: string;
                                status: "pending"
                                | "rejected"
                                | "confirmed";
                                unit: string;
                                value: string;
                            }[];
                        },
                    >;
                    approveOutput: (
                        campaignId: string,
                        text?: string,
                    ) => Promise<
                        {
                            brief: {
                                ban: string;
                                channels: string[];
                                cta: string;
                                disclosure: string;
                                goal: string;
                                length: number;
                                message: string;
                                mustSay: string;
                                scene: string;
                                target: string;
                                tone: string;
                            };
                            cancelReason: string
                            | null;
                            code: string;
                            createdAt: string;
                            creator:
                                | {
                                    category: string;
                                    color: string;
                                    engagement: number;
                                    followers: number;
                                    handle: string;
                                    id: string;
                                    name: string;
                                    photoUrl: string
                                    | null;
                                    verified: boolean;
                                }
                                | null;
                            emoji: string;
                            id: string;
                            imageUrl: string
                            | null;
                            jobs: {
                                attempts: number;
                                createdAt: string;
                                credits: number;
                                error: string | null;
                                finishedAt: string | null;
                                id: string;
                                kind: "storyboard" | "revision" | "sample" | "final";
                                maxAttempts: number;
                                provider: string;
                                status:
                                    | "failed"
                                    | "done"
                                    | "queued"
                                    | "running"
                                    | "retry"
                                    | "blocked"
                                    | "cancelled";
                            }[];
                            name: string;
                            offer: | {
                                assets: string[];
                                blocker: string
                                | null;
                                channel: string;
                                creatorId: string;
                                expiresAt: string;
                                format: string;
                                id: string;
                                keep: string;
                                media: string[];
                                message: string;
                                portfolio: boolean;
                                postDate: string;
                                region: string;
                                rejectReason: string | null;
                                respondedAt: string | null;
                                rightsEnd: string;
                                rightsStart: string;
                                sentAt: string;
                                status: "withdrawn" | "sent" | "accepted" | "rejected" | "expired";
                                thread: {
                                    at: string;
                                    by: (...) | (...) | (...) | (...);
                                    name: string;
                                    tag?: (...) | (...);
                                    text: string;
                                }[];
                            }
                            | null;
                            order: | {
                                blocked: string
                                | null;
                                comments: {
                                    at: string;
                                    by: (...) | (...) | (...) | (...);
                                    name: string;
                                    tag?: (...) | (...);
                                    text: string;
                                }[];
                                confirmedAt: string;
                                creatorMetricsDone: boolean;
                                id: string;
                                metrics: {
                                    at: string;
                                    by: string;
                                    id: string;
                                    name: string;
                                    period: string;
                                    source: (...)
                                    | (...)
                                    | (...);
                                    value: number;
                                    verified: boolean;
                                }[];
                                outputUrl: string
                                | null;
                                paidAt: string | null;
                                payoutStatus: "paid" | "progress" | "scheduled" | "hold";
                                proof:
                                    | { at: string; captures: number; url: string; verified: boolean }
                                    | null;
                                qa: string;
                                revisionsLeft: number;
                                usesVoice: boolean;
                                version: number;
                            }
                            | null;
                            orgId: string;
                            orgName: string;
                            pastOffers: {
                                at: string;
                                creatorId: string;
                                creatorName: string;
                                id: string;
                                note: string;
                                status: "withdrawn"
                                | "rejected"
                                | "expired";
                            }[];
                            payout: number
                            | null;
                            price: number | null;
                            productId: string;
                            stage:
                                | "done"
                                | "accepted"
                                | "storyboard"
                                | "cancelled"
                                | "matching"
                                | "offer"
                                | "producing"
                                | "creator_review"
                                | "advertiser_review"
                                | "approved"
                                | "published";
                            stageLabel: string;
                            storyboard: {
                                approved: | { at: string; by: string; no: number; version: number }
                                | null;
                                batch: number;
                                history: {
                                    at: string;
                                    by: string;
                                    detail: string;
                                    title: string;
                                    tone?: "done" | "warn";
                                }[];
                                notes: string[];
                                options: {
                                    cta: string;
                                    exposure: string;
                                    no: number;
                                    qa: { ok: boolean; text: string };
                                    scenes: { exposure?: ...; line: ...; time: ...; visual: ... }[];
                                    summary: string;
                                    title: string;
                                    version: number;
                                }[];
                                regenerationsLeft: number;
                                sample: "generating"
                                | "ready"
                                | "none";
                                sampleAudioUrl: string | null;
                                sampleUrl: string | null;
                                selected: number;
                                status: "failed" | "generating" | "ready";
                                versions: number[];
                            };
                            type: "AI"
                            | "Direct";
                            updatedAt: string;
                        },
                    >;
                    assetBoard: (
                        assetId: string,
                    ) => Promise<{ expiresInMinutes: number; url: string }>;
                    assets: () => Promise<
                        {
                            boardAt: string
                            | null;
                            boardStatus: "pending" | "failed" | "ready" | "none";
                            consent:
                                | {
                                    doc: string;
                                    end: string;
                                    issueResolved: string
                                    | null;
                                    media: string[];
                                    paid: boolean;
                                    portfolio: boolean;
                                    purpose: string;
                                    region: string;
                                    revokedAt: string | null;
                                    revokeReason: string | null;
                                    secondary: boolean;
                                    showcase: boolean;
                                    signedAt: string;
                                    start: string;
                                    status: "active" | "suspended" | "expired" | "revoked";
                                }
                                | null;
                            desc: string;
                            destroyAt: string
                            | null;
                            hasFile: boolean;
                            id: string;
                            kind: "face" | "voice" | "ref";
                            label: string;
                            replaced: boolean;
                            review: "pending" | "rejected" | "approved" | "needs";
                            uploadedAt: string;
                            version: number;
                        }[],
                    >;
                    campaign: (
                        campaignId: string,
                    ) => Promise<
                        {
                            brief: {
                                ban: string;
                                channels: string[];
                                cta: string;
                                disclosure: string;
                                goal: string;
                                length: number;
                                message: string;
                                mustSay: string;
                                scene: string;
                                target: string;
                                tone: string;
                            };
                            cancelReason: string
                            | null;
                            code: string;
                            createdAt: string;
                            creator:
                                | {
                                    category: string;
                                    color: string;
                                    engagement: number;
                                    followers: number;
                                    handle: string;
                                    id: string;
                                    name: string;
                                    photoUrl: string
                                    | null;
                                    verified: boolean;
                                }
                                | null;
                            emoji: string;
                            id: string;
                            imageUrl: string
                            | null;
                            jobs: {
                                attempts: number;
                                createdAt: string;
                                credits: number;
                                error: string | null;
                                finishedAt: string | null;
                                id: string;
                                kind: "storyboard" | "revision" | "sample" | "final";
                                maxAttempts: number;
                                provider: string;
                                status:
                                    | "failed"
                                    | "done"
                                    | "queued"
                                    | "running"
                                    | "retry"
                                    | "blocked"
                                    | "cancelled";
                            }[];
                            name: string;
                            offer: | {
                                assets: string[];
                                blocker: string
                                | null;
                                channel: string;
                                creatorId: string;
                                expiresAt: string;
                                format: string;
                                id: string;
                                keep: string;
                                media: string[];
                                message: string;
                                portfolio: boolean;
                                postDate: string;
                                region: string;
                                rejectReason: string | null;
                                respondedAt: string | null;
                                rightsEnd: string;
                                rightsStart: string;
                                sentAt: string;
                                status: "withdrawn" | "sent" | "accepted" | "rejected" | "expired";
                                thread: {
                                    at: string;
                                    by: (...) | (...) | (...) | (...);
                                    name: string;
                                    tag?: (...) | (...);
                                    text: string;
                                }[];
                            }
                            | null;
                            order: | {
                                blocked: string
                                | null;
                                comments: {
                                    at: string;
                                    by: (...) | (...) | (...) | (...);
                                    name: string;
                                    tag?: (...) | (...);
                                    text: string;
                                }[];
                                confirmedAt: string;
                                creatorMetricsDone: boolean;
                                id: string;
                                metrics: {
                                    at: string;
                                    by: string;
                                    id: string;
                                    name: string;
                                    period: string;
                                    source: (...)
                                    | (...)
                                    | (...);
                                    value: number;
                                    verified: boolean;
                                }[];
                                outputUrl: string
                                | null;
                                paidAt: string | null;
                                payoutStatus: "paid" | "progress" | "scheduled" | "hold";
                                proof:
                                    | { at: string; captures: number; url: string; verified: boolean }
                                    | null;
                                qa: string;
                                revisionsLeft: number;
                                usesVoice: boolean;
                                version: number;
                            }
                            | null;
                            orgId: string;
                            orgName: string;
                            pastOffers: {
                                at: string;
                                creatorId: string;
                                creatorName: string;
                                id: string;
                                note: string;
                                status: "withdrawn"
                                | "rejected"
                                | "expired";
                            }[];
                            payout: number
                            | null;
                            price: number | null;
                            productId: string;
                            stage:
                                | "done"
                                | "accepted"
                                | "storyboard"
                                | "cancelled"
                                | "matching"
                                | "offer"
                                | "producing"
                                | "creator_review"
                                | "advertiser_review"
                                | "approved"
                                | "published";
                            stageLabel: string;
                            storyboard: {
                                approved: | { at: string; by: string; no: number; version: number }
                                | null;
                                batch: number;
                                history: {
                                    at: string;
                                    by: string;
                                    detail: string;
                                    title: string;
                                    tone?: "done" | "warn";
                                }[];
                                notes: string[];
                                options: {
                                    cta: string;
                                    exposure: string;
                                    no: number;
                                    qa: { ok: boolean; text: string };
                                    scenes: { exposure?: ...; line: ...; time: ...; visual: ... }[];
                                    summary: string;
                                    title: string;
                                    version: number;
                                }[];
                                regenerationsLeft: number;
                                sample: "generating"
                                | "ready"
                                | "none";
                                sampleAudioUrl: string | null;
                                sampleUrl: string | null;
                                selected: number;
                                status: "failed" | "generating" | "ready";
                                versions: number[];
                            };
                            type: "AI"
                            | "Direct";
                            updatedAt: string;
                        },
                    >;
                    campaigns: (
                        params?: {
                            page?: number;
                            pageSize?: number;
                            q?: string;
                            stage?: (
                                | "done"
                                | "accepted"
                                | "storyboard"
                                | "cancelled"
                                | "matching"
                                | "offer"
                                | "producing"
                                | "creator_review"
                                | "advertiser_review"
                                | "approved"
                                | "published"
                            )[];
                        },
                    ) => Promise<
                        {
                            items: {
                                brief: {
                                    ban: string;
                                    channels: string[];
                                    cta: string;
                                    disclosure: string;
                                    goal: string;
                                    length: number;
                                    message: string;
                                    mustSay: string;
                                    scene: string;
                                    target: string;
                                    tone: string;
                                };
                                cancelReason: string
                                | null;
                                code: string;
                                createdAt: string;
                                creator:
                                    | {
                                        category: string;
                                        color: string;
                                        engagement: number;
                                        followers: number;
                                        handle: string;
                                        id: string;
                                        name: string;
                                        photoUrl: (...)
                                        | (...);
                                        verified: boolean;
                                    }
                                    | null;
                                emoji: string;
                                id: string;
                                imageUrl: string
                                | null;
                                jobs: {
                                    attempts: number;
                                    createdAt: string;
                                    credits: number;
                                    error: (...) | (...);
                                    finishedAt: (...) | (...);
                                    id: string;
                                    kind: (...) | (...) | (...) | (...);
                                    maxAttempts: number;
                                    provider: string;
                                    status: (...) | (...) | (...) | (...) | (...) | (...) | (...);
                                }[];
                                name: string;
                                offer: | {
                                    assets: (...)[];
                                    blocker: (...) | (...);
                                    channel: string;
                                    creatorId: string;
                                    expiresAt: string;
                                    format: string;
                                    id: string;
                                    keep: string;
                                    media: (...)[];
                                    message: string;
                                    portfolio: boolean;
                                    postDate: string;
                                    region: string;
                                    rejectReason: (...) | (...);
                                    respondedAt: (...) | (...);
                                    rightsEnd: string;
                                    rightsStart: string;
                                    sentAt: string;
                                    status: (...) | (...) | (...) | (...) | (...);
                                    thread: (...)[];
                                }
                                | null;
                                order: | {
                                    blocked: (...)
                                    | (...);
                                    comments: (...)[];
                                    confirmedAt: string;
                                    creatorMetricsDone: boolean;
                                    id: string;
                                    metrics: (...)[];
                                    outputUrl: (...) | (...);
                                    paidAt: (...) | (...);
                                    payoutStatus: (...) | (...) | (...) | (...);
                                    proof: (...) | (...);
                                    qa: string;
                                    revisionsLeft: number;
                                    usesVoice: boolean;
                                    version: number;
                                }
                                | null;
                                orgId: string;
                                orgName: string;
                                pastOffers: {
                                    at: string;
                                    creatorId: string;
                                    creatorName: string;
                                    id: string;
                                    note: string;
                                    status: (...)
                                    | (...)
                                    | (...);
                                }[];
                                payout: number
                                | null;
                                price: number | null;
                                productId: string;
                                stage:
                                    | "done"
                                    | "accepted"
                                    | "storyboard"
                                    | "cancelled"
                                    | "matching"
                                    | "offer"
                                    | "producing"
                                    | "creator_review"
                                    | "advertiser_review"
                                    | "approved"
                                    | "published";
                                stageLabel: string;
                                storyboard: {
                                    approved: { at: ...; by: ...; no: ...; version: ... }
                                    | null;
                                    batch: number;
                                    history: { at: ...; by: ...; detail: ...; title: ...; tone?: ... }[];
                                    notes: string[];
                                    options: {
                                        cta: ...;
                                        exposure: ...;
                                        no: ...;
                                        qa: ...;
                                        scenes: ...;
                                        summary: ...;
                                        title: ...;
                                        version: ...;
                                    }[];
                                    regenerationsLeft: number;
                                    sample: "generating"
                                    | "ready"
                                    | "none";
                                    sampleAudioUrl: string | null;
                                    sampleUrl: string | null;
                                    selected: number;
                                    status: "failed" | "generating" | "ready";
                                    versions: number[];
                                };
                                type: "AI"
                                | "Direct";
                                updatedAt: string;
                            }[];
                            page: number;
                            pageSize: number;
                            total: number;
                        },
                    >;
                    comment: (
                        campaignId: string,
                        input: { tag?: string; text: string },
                    ) => Promise<
                        {
                            brief: {
                                ban: string;
                                channels: string[];
                                cta: string;
                                disclosure: string;
                                goal: string;
                                length: number;
                                message: string;
                                mustSay: string;
                                scene: string;
                                target: string;
                                tone: string;
                            };
                            cancelReason: string
                            | null;
                            code: string;
                            createdAt: string;
                            creator:
                                | {
                                    category: string;
                                    color: string;
                                    engagement: number;
                                    followers: number;
                                    handle: string;
                                    id: string;
                                    name: string;
                                    photoUrl: string
                                    | null;
                                    verified: boolean;
                                }
                                | null;
                            emoji: string;
                            id: string;
                            imageUrl: string
                            | null;
                            jobs: {
                                attempts: number;
                                createdAt: string;
                                credits: number;
                                error: string | null;
                                finishedAt: string | null;
                                id: string;
                                kind: "storyboard" | "revision" | "sample" | "final";
                                maxAttempts: number;
                                provider: string;
                                status:
                                    | "failed"
                                    | "done"
                                    | "queued"
                                    | "running"
                                    | "retry"
                                    | "blocked"
                                    | "cancelled";
                            }[];
                            name: string;
                            offer: | {
                                assets: string[];
                                blocker: string
                                | null;
                                channel: string;
                                creatorId: string;
                                expiresAt: string;
                                format: string;
                                id: string;
                                keep: string;
                                media: string[];
                                message: string;
                                portfolio: boolean;
                                postDate: string;
                                region: string;
                                rejectReason: string | null;
                                respondedAt: string | null;
                                rightsEnd: string;
                                rightsStart: string;
                                sentAt: string;
                                status: "withdrawn" | "sent" | "accepted" | "rejected" | "expired";
                                thread: {
                                    at: string;
                                    by: (...) | (...) | (...) | (...);
                                    name: string;
                                    tag?: (...) | (...);
                                    text: string;
                                }[];
                            }
                            | null;
                            order: | {
                                blocked: string
                                | null;
                                comments: {
                                    at: string;
                                    by: (...) | (...) | (...) | (...);
                                    name: string;
                                    tag?: (...) | (...);
                                    text: string;
                                }[];
                                confirmedAt: string;
                                creatorMetricsDone: boolean;
                                id: string;
                                metrics: {
                                    at: string;
                                    by: string;
                                    id: string;
                                    name: string;
                                    period: string;
                                    source: (...)
                                    | (...)
                                    | (...);
                                    value: number;
                                    verified: boolean;
                                }[];
                                outputUrl: string
                                | null;
                                paidAt: string | null;
                                payoutStatus: "paid" | "progress" | "scheduled" | "hold";
                                proof:
                                    | { at: string; captures: number; url: string; verified: boolean }
                                    | null;
                                qa: string;
                                revisionsLeft: number;
                                usesVoice: boolean;
                                version: number;
                            }
                            | null;
                            orgId: string;
                            orgName: string;
                            pastOffers: {
                                at: string;
                                creatorId: string;
                                creatorName: string;
                                id: string;
                                note: string;
                                status: "withdrawn"
                                | "rejected"
                                | "expired";
                            }[];
                            payout: number
                            | null;
                            price: number | null;
                            productId: string;
                            stage:
                                | "done"
                                | "accepted"
                                | "storyboard"
                                | "cancelled"
                                | "matching"
                                | "offer"
                                | "producing"
                                | "creator_review"
                                | "advertiser_review"
                                | "approved"
                                | "published";
                            stageLabel: string;
                            storyboard: {
                                approved: | { at: string; by: string; no: number; version: number }
                                | null;
                                batch: number;
                                history: {
                                    at: string;
                                    by: string;
                                    detail: string;
                                    title: string;
                                    tone?: "done" | "warn";
                                }[];
                                notes: string[];
                                options: {
                                    cta: string;
                                    exposure: string;
                                    no: number;
                                    qa: { ok: boolean; text: string };
                                    scenes: { exposure?: ...; line: ...; time: ...; visual: ... }[];
                                    summary: string;
                                    title: string;
                                    version: number;
                                }[];
                                regenerationsLeft: number;
                                sample: "generating"
                                | "ready"
                                | "none";
                                sampleAudioUrl: string | null;
                                sampleUrl: string | null;
                                selected: number;
                                status: "failed" | "generating" | "ready";
                                versions: number[];
                            };
                            type: "AI"
                            | "Direct";
                            updatedAt: string;
                        },
                    >;
                    disconnectSocial: (
                        socialId: string,
                    ) => Promise<
                        {
                            accounts: {
                                handle: string;
                                id: string;
                                lastSync: string
                                | null;
                                mode: "api" | "manual";
                                platform: string;
                                status: "pending" | "connected" | "disconnected";
                                tokenExpiry: string | null;
                            }[];
                            snapshots: {
                                at: string;
                                id: string;
                                metric: string;
                                period: string;
                                platform: string;
                                source: string;
                                status: "pending"
                                | "rejected"
                                | "confirmed";
                                unit: string;
                                value: string;
                            }[];
                        },
                    >;
                    offers: () => Promise<
                        {
                            brief: {
                                ban: string;
                                channels: string[];
                                cta: string;
                                disclosure: string;
                                goal: string;
                                length: number;
                                message: string;
                                mustSay: string;
                                scene: string;
                                target: string;
                                tone: string;
                            };
                            cancelReason: string
                            | null;
                            code: string;
                            createdAt: string;
                            creator:
                                | {
                                    category: string;
                                    color: string;
                                    engagement: number;
                                    followers: number;
                                    handle: string;
                                    id: string;
                                    name: string;
                                    photoUrl: string
                                    | null;
                                    verified: boolean;
                                }
                                | null;
                            emoji: string;
                            id: string;
                            imageUrl: string
                            | null;
                            jobs: {
                                attempts: number;
                                createdAt: string;
                                credits: number;
                                error: string | null;
                                finishedAt: string | null;
                                id: string;
                                kind: "storyboard" | "revision" | "sample" | "final";
                                maxAttempts: number;
                                provider: string;
                                status:
                                    | "failed"
                                    | "done"
                                    | "queued"
                                    | "running"
                                    | "retry"
                                    | "blocked"
                                    | "cancelled";
                            }[];
                            name: string;
                            offer: | {
                                assets: string[];
                                blocker: string
                                | null;
                                channel: string;
                                creatorId: string;
                                expiresAt: string;
                                format: string;
                                id: string;
                                keep: string;
                                media: string[];
                                message: string;
                                portfolio: boolean;
                                postDate: string;
                                region: string;
                                rejectReason: string | null;
                                respondedAt: string | null;
                                rightsEnd: string;
                                rightsStart: string;
                                sentAt: string;
                                status: "withdrawn" | "sent" | "accepted" | "rejected" | "expired";
                                thread: { at: ...; by: ...; name: ...; tag?: ...; text: ... }[];
                            }
                            | null;
                            order: | {
                                blocked: string
                                | null;
                                comments: { at: ...; by: ...; name: ...; tag?: ...; text: ... }[];
                                confirmedAt: string;
                                creatorMetricsDone: boolean;
                                id: string;
                                metrics: {
                                    at: ...;
                                    by: ...;
                                    id: ...;
                                    name: ...;
                                    period: ...;
                                    source: ...;
                                    value: ...;
                                    verified: ...;
                                }[];
                                outputUrl: string
                                | null;
                                paidAt: string | null;
                                payoutStatus: "paid" | "progress" | "scheduled" | "hold";
                                proof: { at: ...; captures: ...; url: ...; verified: ... } | null;
                                qa: string;
                                revisionsLeft: number;
                                usesVoice: boolean;
                                version: number;
                            }
                            | null;
                            orgId: string;
                            orgName: string;
                            pastOffers: {
                                at: string;
                                creatorId: string;
                                creatorName: string;
                                id: string;
                                note: string;
                                status: "withdrawn"
                                | "rejected"
                                | "expired";
                            }[];
                            payout: number
                            | null;
                            price: number | null;
                            productId: string;
                            stage:
                                | "done"
                                | "accepted"
                                | "storyboard"
                                | "cancelled"
                                | "matching"
                                | "offer"
                                | "producing"
                                | "creator_review"
                                | "advertiser_review"
                                | "approved"
                                | "published";
                            stageLabel: string;
                            storyboard: {
                                approved: | { at: string; by: string; no: number; version: number }
                                | null;
                                batch: number;
                                history: {
                                    at: string;
                                    by: string;
                                    detail: string;
                                    title: string;
                                    tone?: (...) | (...) | (...);
                                }[];
                                notes: string[];
                                options: {
                                    cta: string;
                                    exposure: string;
                                    no: number;
                                    qa: { ok: ...; text: ... };
                                    scenes: (...)[];
                                    summary: string;
                                    title: string;
                                    version: number;
                                }[];
                                regenerationsLeft: number;
                                sample: "generating"
                                | "ready"
                                | "none";
                                sampleAudioUrl: string | null;
                                sampleUrl: string | null;
                                selected: number;
                                status: "failed" | "generating" | "ready";
                                versions: number[];
                            };
                            type: "AI"
                            | "Direct";
                            updatedAt: string;
                        }[],
                    >;
                    openDispute: (
                        campaignId: string,
                        input: { text: string; title: string },
                    ) => Promise<
                        {
                            brief: {
                                ban: string;
                                channels: string[];
                                cta: string;
                                disclosure: string;
                                goal: string;
                                length: number;
                                message: string;
                                mustSay: string;
                                scene: string;
                                target: string;
                                tone: string;
                            };
                            cancelReason: string
                            | null;
                            code: string;
                            createdAt: string;
                            creator:
                                | {
                                    category: string;
                                    color: string;
                                    engagement: number;
                                    followers: number;
                                    handle: string;
                                    id: string;
                                    name: string;
                                    photoUrl: string
                                    | null;
                                    verified: boolean;
                                }
                                | null;
                            emoji: string;
                            id: string;
                            imageUrl: string
                            | null;
                            jobs: {
                                attempts: number;
                                createdAt: string;
                                credits: number;
                                error: string | null;
                                finishedAt: string | null;
                                id: string;
                                kind: "storyboard" | "revision" | "sample" | "final";
                                maxAttempts: number;
                                provider: string;
                                status:
                                    | "failed"
                                    | "done"
                                    | "queued"
                                    | "running"
                                    | "retry"
                                    | "blocked"
                                    | "cancelled";
                            }[];
                            name: string;
                            offer: | {
                                assets: string[];
                                blocker: string
                                | null;
                                channel: string;
                                creatorId: string;
                                expiresAt: string;
                                format: string;
                                id: string;
                                keep: string;
                                media: string[];
                                message: string;
                                portfolio: boolean;
                                postDate: string;
                                region: string;
                                rejectReason: string | null;
                                respondedAt: string | null;
                                rightsEnd: string;
                                rightsStart: string;
                                sentAt: string;
                                status: "withdrawn" | "sent" | "accepted" | "rejected" | "expired";
                                thread: {
                                    at: string;
                                    by: (...) | (...) | (...) | (...);
                                    name: string;
                                    tag?: (...) | (...);
                                    text: string;
                                }[];
                            }
                            | null;
                            order: | {
                                blocked: string
                                | null;
                                comments: {
                                    at: string;
                                    by: (...) | (...) | (...) | (...);
                                    name: string;
                                    tag?: (...) | (...);
                                    text: string;
                                }[];
                                confirmedAt: string;
                                creatorMetricsDone: boolean;
                                id: string;
                                metrics: {
                                    at: string;
                                    by: string;
                                    id: string;
                                    name: string;
                                    period: string;
                                    source: (...)
                                    | (...)
                                    | (...);
                                    value: number;
                                    verified: boolean;
                                }[];
                                outputUrl: string
                                | null;
                                paidAt: string | null;
                                payoutStatus: "paid" | "progress" | "scheduled" | "hold";
                                proof:
                                    | { at: string; captures: number; url: string; verified: boolean }
                                    | null;
                                qa: string;
                                revisionsLeft: number;
                                usesVoice: boolean;
                                version: number;
                            }
                            | null;
                            orgId: string;
                            orgName: string;
                            pastOffers: {
                                at: string;
                                creatorId: string;
                                creatorName: string;
                                id: string;
                                note: string;
                                status: "withdrawn"
                                | "rejected"
                                | "expired";
                            }[];
                            payout: number
                            | null;
                            price: number | null;
                            productId: string;
                            stage:
                                | "done"
                                | "accepted"
                                | "storyboard"
                                | "cancelled"
                                | "matching"
                                | "offer"
                                | "producing"
                                | "creator_review"
                                | "advertiser_review"
                                | "approved"
                                | "published";
                            stageLabel: string;
                            storyboard: {
                                approved: | { at: string; by: string; no: number; version: number }
                                | null;
                                batch: number;
                                history: {
                                    at: string;
                                    by: string;
                                    detail: string;
                                    title: string;
                                    tone?: "done" | "warn";
                                }[];
                                notes: string[];
                                options: {
                                    cta: string;
                                    exposure: string;
                                    no: number;
                                    qa: { ok: boolean; text: string };
                                    scenes: { exposure?: ...; line: ...; time: ...; visual: ... }[];
                                    summary: string;
                                    title: string;
                                    version: number;
                                }[];
                                regenerationsLeft: number;
                                sample: "generating"
                                | "ready"
                                | "none";
                                sampleAudioUrl: string | null;
                                sampleUrl: string | null;
                                selected: number;
                                status: "failed" | "generating" | "ready";
                                versions: number[];
                            };
                            type: "AI"
                            | "Direct";
                            updatedAt: string;
                        },
                    >;
                    payouts: () => Promise<
                        {
                            amount: number;
                            blocked: string
                            | null;
                            campaignCode: string;
                            campaignId: string;
                            campaignName: string;
                            net: number;
                            orderId: string;
                            orgName: string;
                            paidAt: string | null;
                            status: "paid" | "progress" | "scheduled" | "hold";
                            tax: number;
                        }[],
                    >;
                    refuseOutput: (
                        campaignId: string,
                        reason: string,
                    ) => Promise<
                        {
                            brief: {
                                ban: string;
                                channels: string[];
                                cta: string;
                                disclosure: string;
                                goal: string;
                                length: number;
                                message: string;
                                mustSay: string;
                                scene: string;
                                target: string;
                                tone: string;
                            };
                            cancelReason: string
                            | null;
                            code: string;
                            createdAt: string;
                            creator:
                                | {
                                    category: string;
                                    color: string;
                                    engagement: number;
                                    followers: number;
                                    handle: string;
                                    id: string;
                                    name: string;
                                    photoUrl: string
                                    | null;
                                    verified: boolean;
                                }
                                | null;
                            emoji: string;
                            id: string;
                            imageUrl: string
                            | null;
                            jobs: {
                                attempts: number;
                                createdAt: string;
                                credits: number;
                                error: string | null;
                                finishedAt: string | null;
                                id: string;
                                kind: "storyboard" | "revision" | "sample" | "final";
                                maxAttempts: number;
                                provider: string;
                                status:
                                    | "failed"
                                    | "done"
                                    | "queued"
                                    | "running"
                                    | "retry"
                                    | "blocked"
                                    | "cancelled";
                            }[];
                            name: string;
                            offer: | {
                                assets: string[];
                                blocker: string
                                | null;
                                channel: string;
                                creatorId: string;
                                expiresAt: string;
                                format: string;
                                id: string;
                                keep: string;
                                media: string[];
                                message: string;
                                portfolio: boolean;
                                postDate: string;
                                region: string;
                                rejectReason: string | null;
                                respondedAt: string | null;
                                rightsEnd: string;
                                rightsStart: string;
                                sentAt: string;
                                status: "withdrawn" | "sent" | "accepted" | "rejected" | "expired";
                                thread: {
                                    at: string;
                                    by: (...) | (...) | (...) | (...);
                                    name: string;
                                    tag?: (...) | (...);
                                    text: string;
                                }[];
                            }
                            | null;
                            order: | {
                                blocked: string
                                | null;
                                comments: {
                                    at: string;
                                    by: (...) | (...) | (...) | (...);
                                    name: string;
                                    tag?: (...) | (...);
                                    text: string;
                                }[];
                                confirmedAt: string;
                                creatorMetricsDone: boolean;
                                id: string;
                                metrics: {
                                    at: string;
                                    by: string;
                                    id: string;
                                    name: string;
                                    period: string;
                                    source: (...)
                                    | (...)
                                    | (...);
                                    value: number;
                                    verified: boolean;
                                }[];
                                outputUrl: string
                                | null;
                                paidAt: string | null;
                                payoutStatus: "paid" | "progress" | "scheduled" | "hold";
                                proof:
                                    | { at: string; captures: number; url: string; verified: boolean }
                                    | null;
                                qa: string;
                                revisionsLeft: number;
                                usesVoice: boolean;
                                version: number;
                            }
                            | null;
                            orgId: string;
                            orgName: string;
                            pastOffers: {
                                at: string;
                                creatorId: string;
                                creatorName: string;
                                id: string;
                                note: string;
                                status: "withdrawn"
                                | "rejected"
                                | "expired";
                            }[];
                            payout: number
                            | null;
                            price: number | null;
                            productId: string;
                            stage:
                                | "done"
                                | "accepted"
                                | "storyboard"
                                | "cancelled"
                                | "matching"
                                | "offer"
                                | "producing"
                                | "creator_review"
                                | "advertiser_review"
                                | "approved"
                                | "published";
                            stageLabel: string;
                            storyboard: {
                                approved: | { at: string; by: string; no: number; version: number }
                                | null;
                                batch: number;
                                history: {
                                    at: string;
                                    by: string;
                                    detail: string;
                                    title: string;
                                    tone?: "done" | "warn";
                                }[];
                                notes: string[];
                                options: {
                                    cta: string;
                                    exposure: string;
                                    no: number;
                                    qa: { ok: boolean; text: string };
                                    scenes: { exposure?: ...; line: ...; time: ...; visual: ... }[];
                                    summary: string;
                                    title: string;
                                    version: number;
                                }[];
                                regenerationsLeft: number;
                                sample: "generating"
                                | "ready"
                                | "none";
                                sampleAudioUrl: string | null;
                                sampleUrl: string | null;
                                selected: number;
                                status: "failed" | "generating" | "ready";
                                versions: number[];
                            };
                            type: "AI"
                            | "Direct";
                            updatedAt: string;
                        },
                    >;
                    rejectOffer: (
                        campaignId: string,
                        input: { note?: string; reason: string },
                    ) => Promise<void>;
                    replyOffer: (
                        campaignId: string,
                        text: string,
                    ) => Promise<
                        {
                            brief: {
                                ban: string;
                                channels: string[];
                                cta: string;
                                disclosure: string;
                                goal: string;
                                length: number;
                                message: string;
                                mustSay: string;
                                scene: string;
                                target: string;
                                tone: string;
                            };
                            cancelReason: string
                            | null;
                            code: string;
                            createdAt: string;
                            creator:
                                | {
                                    category: string;
                                    color: string;
                                    engagement: number;
                                    followers: number;
                                    handle: string;
                                    id: string;
                                    name: string;
                                    photoUrl: string
                                    | null;
                                    verified: boolean;
                                }
                                | null;
                            emoji: string;
                            id: string;
                            imageUrl: string
                            | null;
                            jobs: {
                                attempts: number;
                                createdAt: string;
                                credits: number;
                                error: string | null;
                                finishedAt: string | null;
                                id: string;
                                kind: "storyboard" | "revision" | "sample" | "final";
                                maxAttempts: number;
                                provider: string;
                                status:
                                    | "failed"
                                    | "done"
                                    | "queued"
                                    | "running"
                                    | "retry"
                                    | "blocked"
                                    | "cancelled";
                            }[];
                            name: string;
                            offer: | {
                                assets: string[];
                                blocker: string
                                | null;
                                channel: string;
                                creatorId: string;
                                expiresAt: string;
                                format: string;
                                id: string;
                                keep: string;
                                media: string[];
                                message: string;
                                portfolio: boolean;
                                postDate: string;
                                region: string;
                                rejectReason: string | null;
                                respondedAt: string | null;
                                rightsEnd: string;
                                rightsStart: string;
                                sentAt: string;
                                status: "withdrawn" | "sent" | "accepted" | "rejected" | "expired";
                                thread: {
                                    at: string;
                                    by: (...) | (...) | (...) | (...);
                                    name: string;
                                    tag?: (...) | (...);
                                    text: string;
                                }[];
                            }
                            | null;
                            order: | {
                                blocked: string
                                | null;
                                comments: {
                                    at: string;
                                    by: (...) | (...) | (...) | (...);
                                    name: string;
                                    tag?: (...) | (...);
                                    text: string;
                                }[];
                                confirmedAt: string;
                                creatorMetricsDone: boolean;
                                id: string;
                                metrics: {
                                    at: string;
                                    by: string;
                                    id: string;
                                    name: string;
                                    period: string;
                                    source: (...)
                                    | (...)
                                    | (...);
                                    value: number;
                                    verified: boolean;
                                }[];
                                outputUrl: string
                                | null;
                                paidAt: string | null;
                                payoutStatus: "paid" | "progress" | "scheduled" | "hold";
                                proof:
                                    | { at: string; captures: number; url: string; verified: boolean }
                                    | null;
                                qa: string;
                                revisionsLeft: number;
                                usesVoice: boolean;
                                version: number;
                            }
                            | null;
                            orgId: string;
                            orgName: string;
                            pastOffers: {
                                at: string;
                                creatorId: string;
                                creatorName: string;
                                id: string;
                                note: string;
                                status: "withdrawn"
                                | "rejected"
                                | "expired";
                            }[];
                            payout: number
                            | null;
                            price: number | null;
                            productId: string;
                            stage:
                                | "done"
                                | "accepted"
                                | "storyboard"
                                | "cancelled"
                                | "matching"
                                | "offer"
                                | "producing"
                                | "creator_review"
                                | "advertiser_review"
                                | "approved"
                                | "published";
                            stageLabel: string;
                            storyboard: {
                                approved: | { at: string; by: string; no: number; version: number }
                                | null;
                                batch: number;
                                history: {
                                    at: string;
                                    by: string;
                                    detail: string;
                                    title: string;
                                    tone?: "done" | "warn";
                                }[];
                                notes: string[];
                                options: {
                                    cta: string;
                                    exposure: string;
                                    no: number;
                                    qa: { ok: boolean; text: string };
                                    scenes: { exposure?: ...; line: ...; time: ...; visual: ... }[];
                                    summary: string;
                                    title: string;
                                    version: number;
                                }[];
                                regenerationsLeft: number;
                                sample: "generating"
                                | "ready"
                                | "none";
                                sampleAudioUrl: string | null;
                                sampleUrl: string | null;
                                selected: number;
                                status: "failed" | "generating" | "ready";
                                versions: number[];
                            };
                            type: "AI"
                            | "Direct";
                            updatedAt: string;
                        },
                    >;
                    requestDeletion: () => Promise<{ activeOrders: number; ok: boolean }>;
                    requestRevision: (
                        campaignId: string,
                        text: string,
                    ) => Promise<
                        {
                            brief: {
                                ban: string;
                                channels: string[];
                                cta: string;
                                disclosure: string;
                                goal: string;
                                length: number;
                                message: string;
                                mustSay: string;
                                scene: string;
                                target: string;
                                tone: string;
                            };
                            cancelReason: string
                            | null;
                            code: string;
                            createdAt: string;
                            creator:
                                | {
                                    category: string;
                                    color: string;
                                    engagement: number;
                                    followers: number;
                                    handle: string;
                                    id: string;
                                    name: string;
                                    photoUrl: string
                                    | null;
                                    verified: boolean;
                                }
                                | null;
                            emoji: string;
                            id: string;
                            imageUrl: string
                            | null;
                            jobs: {
                                attempts: number;
                                createdAt: string;
                                credits: number;
                                error: string | null;
                                finishedAt: string | null;
                                id: string;
                                kind: "storyboard" | "revision" | "sample" | "final";
                                maxAttempts: number;
                                provider: string;
                                status:
                                    | "failed"
                                    | "done"
                                    | "queued"
                                    | "running"
                                    | "retry"
                                    | "blocked"
                                    | "cancelled";
                            }[];
                            name: string;
                            offer: | {
                                assets: string[];
                                blocker: string
                                | null;
                                channel: string;
                                creatorId: string;
                                expiresAt: string;
                                format: string;
                                id: string;
                                keep: string;
                                media: string[];
                                message: string;
                                portfolio: boolean;
                                postDate: string;
                                region: string;
                                rejectReason: string | null;
                                respondedAt: string | null;
                                rightsEnd: string;
                                rightsStart: string;
                                sentAt: string;
                                status: "withdrawn" | "sent" | "accepted" | "rejected" | "expired";
                                thread: {
                                    at: string;
                                    by: (...) | (...) | (...) | (...);
                                    name: string;
                                    tag?: (...) | (...);
                                    text: string;
                                }[];
                            }
                            | null;
                            order: | {
                                blocked: string
                                | null;
                                comments: {
                                    at: string;
                                    by: (...) | (...) | (...) | (...);
                                    name: string;
                                    tag?: (...) | (...);
                                    text: string;
                                }[];
                                confirmedAt: string;
                                creatorMetricsDone: boolean;
                                id: string;
                                metrics: {
                                    at: string;
                                    by: string;
                                    id: string;
                                    name: string;
                                    period: string;
                                    source: (...)
                                    | (...)
                                    | (...);
                                    value: number;
                                    verified: boolean;
                                }[];
                                outputUrl: string
                                | null;
                                paidAt: string | null;
                                payoutStatus: "paid" | "progress" | "scheduled" | "hold";
                                proof:
                                    | { at: string; captures: number; url: string; verified: boolean }
                                    | null;
                                qa: string;
                                revisionsLeft: number;
                                usesVoice: boolean;
                                version: number;
                            }
                            | null;
                            orgId: string;
                            orgName: string;
                            pastOffers: {
                                at: string;
                                creatorId: string;
                                creatorName: string;
                                id: string;
                                note: string;
                                status: "withdrawn"
                                | "rejected"
                                | "expired";
                            }[];
                            payout: number
                            | null;
                            price: number | null;
                            productId: string;
                            stage:
                                | "done"
                                | "accepted"
                                | "storyboard"
                                | "cancelled"
                                | "matching"
                                | "offer"
                                | "producing"
                                | "creator_review"
                                | "advertiser_review"
                                | "approved"
                                | "published";
                            stageLabel: string;
                            storyboard: {
                                approved: | { at: string; by: string; no: number; version: number }
                                | null;
                                batch: number;
                                history: {
                                    at: string;
                                    by: string;
                                    detail: string;
                                    title: string;
                                    tone?: "done" | "warn";
                                }[];
                                notes: string[];
                                options: {
                                    cta: string;
                                    exposure: string;
                                    no: number;
                                    qa: { ok: boolean; text: string };
                                    scenes: { exposure?: ...; line: ...; time: ...; visual: ... }[];
                                    summary: string;
                                    title: string;
                                    version: number;
                                }[];
                                regenerationsLeft: number;
                                sample: "generating"
                                | "ready"
                                | "none";
                                sampleAudioUrl: string | null;
                                sampleUrl: string | null;
                                selected: number;
                                status: "failed" | "generating" | "ready";
                                versions: number[];
                            };
                            type: "AI"
                            | "Direct";
                            updatedAt: string;
                        },
                    >;
                    revokeConsent: (
                        assetId: string,
                        reason: string,
                    ) => Promise<{ affected: number }>;
                    savePayoutAccount: (
                        input: { bank: string; holder: string; number: string },
                    ) => Promise<
                        {
                            aiFee: number
                            | null;
                            aiOn: boolean;
                            aiPrice: number | null;
                            available: "now" | "later" | "busy";
                            availableFlag: boolean;
                            availableFrom: string | null;
                            availableText: string;
                            bio: string;
                            cadence: string;
                            categories: string[];
                            category: string;
                            channels: string[];
                            color: string;
                            dataSource: string;
                            directFee: number | null;
                            directOn: boolean;
                            directPrice: number | null;
                            engagement: number;
                            excluded: string[];
                            followers: number;
                            handle: string;
                            id: string;
                            keep: string;
                            langs: string[];
                            lead: string;
                            monthCap: number;
                            name: string;
                            payoutAccount: { bank: string; holder: string; number: string } | null;
                            photoUrl: string | null;
                            review: "pending" | "rejected" | "approved" | "needs";
                            verified: boolean;
                        },
                    >;
                    saveProfile: (
                        input: {
                            available: boolean;
                            availableFrom?: string | null;
                            bio: string;
                            categories: string[];
                            channels: string[];
                            handle: string;
                            langs: string[];
                            name: string;
                            photoUrl?: string | null;
                        },
                    ) => Promise<
                        {
                            aiFee: number
                            | null;
                            aiOn: boolean;
                            aiPrice: number | null;
                            available: "now" | "later" | "busy";
                            availableFlag: boolean;
                            availableFrom: string | null;
                            availableText: string;
                            bio: string;
                            cadence: string;
                            categories: string[];
                            category: string;
                            channels: string[];
                            color: string;
                            dataSource: string;
                            directFee: number | null;
                            directOn: boolean;
                            directPrice: number | null;
                            engagement: number;
                            excluded: string[];
                            followers: number;
                            handle: string;
                            id: string;
                            keep: string;
                            langs: string[];
                            lead: string;
                            monthCap: number;
                            name: string;
                            payoutAccount: { bank: string; holder: string; number: string } | null;
                            photoUrl: string | null;
                            review: "pending" | "rejected" | "approved" | "needs";
                            verified: boolean;
                        },
                    >;
                    saveRates: (
                        input: {
                            aiFee?: number | null;
                            aiOn: boolean;
                            directFee: number;
                            directOn: boolean;
                            excluded: string[];
                            keep: string;
                            lead: string;
                            monthCap: number;
                        },
                    ) => Promise<
                        {
                            aiFee: number
                            | null;
                            aiOn: boolean;
                            aiPrice: number | null;
                            available: "now" | "later" | "busy";
                            availableFlag: boolean;
                            availableFrom: string | null;
                            availableText: string;
                            bio: string;
                            cadence: string;
                            categories: string[];
                            category: string;
                            channels: string[];
                            color: string;
                            dataSource: string;
                            directFee: number | null;
                            directOn: boolean;
                            directPrice: number | null;
                            engagement: number;
                            excluded: string[];
                            followers: number;
                            handle: string;
                            id: string;
                            keep: string;
                            langs: string[];
                            lead: string;
                            monthCap: number;
                            name: string;
                            payoutAccount: { bank: string; holder: string; number: string } | null;
                            photoUrl: string | null;
                            review: "pending" | "rejected" | "approved" | "needs";
                            verified: boolean;
                        },
                    >;
                    social: () => Promise<
                        {
                            accounts: {
                                handle: string;
                                id: string;
                                lastSync: string
                                | null;
                                mode: "api" | "manual";
                                platform: string;
                                status: "pending" | "connected" | "disconnected";
                                tokenExpiry: string | null;
                            }[];
                            snapshots: {
                                at: string;
                                id: string;
                                metric: string;
                                period: string;
                                platform: string;
                                source: string;
                                status: "pending"
                                | "rejected"
                                | "confirmed";
                                unit: string;
                                value: string;
                            }[];
                        },
                    >;
                    submitMetrics: (
                        campaignId: string,
                        input: { metrics: { name: string; period: string; value: number }[] },
                    ) => Promise<
                        {
                            brief: {
                                ban: string;
                                channels: string[];
                                cta: string;
                                disclosure: string;
                                goal: string;
                                length: number;
                                message: string;
                                mustSay: string;
                                scene: string;
                                target: string;
                                tone: string;
                            };
                            cancelReason: string
                            | null;
                            code: string;
                            createdAt: string;
                            creator:
                                | {
                                    category: string;
                                    color: string;
                                    engagement: number;
                                    followers: number;
                                    handle: string;
                                    id: string;
                                    name: string;
                                    photoUrl: string
                                    | null;
                                    verified: boolean;
                                }
                                | null;
                            emoji: string;
                            id: string;
                            imageUrl: string
                            | null;
                            jobs: {
                                attempts: number;
                                createdAt: string;
                                credits: number;
                                error: string | null;
                                finishedAt: string | null;
                                id: string;
                                kind: "storyboard" | "revision" | "sample" | "final";
                                maxAttempts: number;
                                provider: string;
                                status:
                                    | "failed"
                                    | "done"
                                    | "queued"
                                    | "running"
                                    | "retry"
                                    | "blocked"
                                    | "cancelled";
                            }[];
                            name: string;
                            offer: | {
                                assets: string[];
                                blocker: string
                                | null;
                                channel: string;
                                creatorId: string;
                                expiresAt: string;
                                format: string;
                                id: string;
                                keep: string;
                                media: string[];
                                message: string;
                                portfolio: boolean;
                                postDate: string;
                                region: string;
                                rejectReason: string | null;
                                respondedAt: string | null;
                                rightsEnd: string;
                                rightsStart: string;
                                sentAt: string;
                                status: "withdrawn" | "sent" | "accepted" | "rejected" | "expired";
                                thread: {
                                    at: string;
                                    by: (...) | (...) | (...) | (...);
                                    name: string;
                                    tag?: (...) | (...);
                                    text: string;
                                }[];
                            }
                            | null;
                            order: | {
                                blocked: string
                                | null;
                                comments: {
                                    at: string;
                                    by: (...) | (...) | (...) | (...);
                                    name: string;
                                    tag?: (...) | (...);
                                    text: string;
                                }[];
                                confirmedAt: string;
                                creatorMetricsDone: boolean;
                                id: string;
                                metrics: {
                                    at: string;
                                    by: string;
                                    id: string;
                                    name: string;
                                    period: string;
                                    source: (...)
                                    | (...)
                                    | (...);
                                    value: number;
                                    verified: boolean;
                                }[];
                                outputUrl: string
                                | null;
                                paidAt: string | null;
                                payoutStatus: "paid" | "progress" | "scheduled" | "hold";
                                proof:
                                    | { at: string; captures: number; url: string; verified: boolean }
                                    | null;
                                qa: string;
                                revisionsLeft: number;
                                usesVoice: boolean;
                                version: number;
                            }
                            | null;
                            orgId: string;
                            orgName: string;
                            pastOffers: {
                                at: string;
                                creatorId: string;
                                creatorName: string;
                                id: string;
                                note: string;
                                status: "withdrawn"
                                | "rejected"
                                | "expired";
                            }[];
                            payout: number
                            | null;
                            price: number | null;
                            productId: string;
                            stage:
                                | "done"
                                | "accepted"
                                | "storyboard"
                                | "cancelled"
                                | "matching"
                                | "offer"
                                | "producing"
                                | "creator_review"
                                | "advertiser_review"
                                | "approved"
                                | "published";
                            stageLabel: string;
                            storyboard: {
                                approved: | { at: string; by: string; no: number; version: number }
                                | null;
                                batch: number;
                                history: {
                                    at: string;
                                    by: string;
                                    detail: string;
                                    title: string;
                                    tone?: "done" | "warn";
                                }[];
                                notes: string[];
                                options: {
                                    cta: string;
                                    exposure: string;
                                    no: number;
                                    qa: { ok: boolean; text: string };
                                    scenes: { exposure?: ...; line: ...; time: ...; visual: ... }[];
                                    summary: string;
                                    title: string;
                                    version: number;
                                }[];
                                regenerationsLeft: number;
                                sample: "generating"
                                | "ready"
                                | "none";
                                sampleAudioUrl: string | null;
                                sampleUrl: string | null;
                                selected: number;
                                status: "failed" | "generating" | "ready";
                                versions: number[];
                            };
                            type: "AI"
                            | "Direct";
                            updatedAt: string;
                        },
                    >;
                    submitOutput: (
                        campaignId: string,
                        input: { note?: string; outputUrl: string },
                    ) => Promise<
                        {
                            brief: {
                                ban: string;
                                channels: string[];
                                cta: string;
                                disclosure: string;
                                goal: string;
                                length: number;
                                message: string;
                                mustSay: string;
                                scene: string;
                                target: string;
                                tone: string;
                            };
                            cancelReason: string
                            | null;
                            code: string;
                            createdAt: string;
                            creator:
                                | {
                                    category: string;
                                    color: string;
                                    engagement: number;
                                    followers: number;
                                    handle: string;
                                    id: string;
                                    name: string;
                                    photoUrl: string
                                    | null;
                                    verified: boolean;
                                }
                                | null;
                            emoji: string;
                            id: string;
                            imageUrl: string
                            | null;
                            jobs: {
                                attempts: number;
                                createdAt: string;
                                credits: number;
                                error: string | null;
                                finishedAt: string | null;
                                id: string;
                                kind: "storyboard" | "revision" | "sample" | "final";
                                maxAttempts: number;
                                provider: string;
                                status:
                                    | "failed"
                                    | "done"
                                    | "queued"
                                    | "running"
                                    | "retry"
                                    | "blocked"
                                    | "cancelled";
                            }[];
                            name: string;
                            offer: | {
                                assets: string[];
                                blocker: string
                                | null;
                                channel: string;
                                creatorId: string;
                                expiresAt: string;
                                format: string;
                                id: string;
                                keep: string;
                                media: string[];
                                message: string;
                                portfolio: boolean;
                                postDate: string;
                                region: string;
                                rejectReason: string | null;
                                respondedAt: string | null;
                                rightsEnd: string;
                                rightsStart: string;
                                sentAt: string;
                                status: "withdrawn" | "sent" | "accepted" | "rejected" | "expired";
                                thread: {
                                    at: string;
                                    by: (...) | (...) | (...) | (...);
                                    name: string;
                                    tag?: (...) | (...);
                                    text: string;
                                }[];
                            }
                            | null;
                            order: | {
                                blocked: string
                                | null;
                                comments: {
                                    at: string;
                                    by: (...) | (...) | (...) | (...);
                                    name: string;
                                    tag?: (...) | (...);
                                    text: string;
                                }[];
                                confirmedAt: string;
                                creatorMetricsDone: boolean;
                                id: string;
                                metrics: {
                                    at: string;
                                    by: string;
                                    id: string;
                                    name: string;
                                    period: string;
                                    source: (...)
                                    | (...)
                                    | (...);
                                    value: number;
                                    verified: boolean;
                                }[];
                                outputUrl: string
                                | null;
                                paidAt: string | null;
                                payoutStatus: "paid" | "progress" | "scheduled" | "hold";
                                proof:
                                    | { at: string; captures: number; url: string; verified: boolean }
                                    | null;
                                qa: string;
                                revisionsLeft: number;
                                usesVoice: boolean;
                                version: number;
                            }
                            | null;
                            orgId: string;
                            orgName: string;
                            pastOffers: {
                                at: string;
                                creatorId: string;
                                creatorName: string;
                                id: string;
                                note: string;
                                status: "withdrawn"
                                | "rejected"
                                | "expired";
                            }[];
                            payout: number
                            | null;
                            price: number | null;
                            productId: string;
                            stage:
                                | "done"
                                | "accepted"
                                | "storyboard"
                                | "cancelled"
                                | "matching"
                                | "offer"
                                | "producing"
                                | "creator_review"
                                | "advertiser_review"
                                | "approved"
                                | "published";
                            stageLabel: string;
                            storyboard: {
                                approved: | { at: string; by: string; no: number; version: number }
                                | null;
                                batch: number;
                                history: {
                                    at: string;
                                    by: string;
                                    detail: string;
                                    title: string;
                                    tone?: "done" | "warn";
                                }[];
                                notes: string[];
                                options: {
                                    cta: string;
                                    exposure: string;
                                    no: number;
                                    qa: { ok: boolean; text: string };
                                    scenes: { exposure?: ...; line: ...; time: ...; visual: ... }[];
                                    summary: string;
                                    title: string;
                                    version: number;
                                }[];
                                regenerationsLeft: number;
                                sample: "generating"
                                | "ready"
                                | "none";
                                sampleAudioUrl: string | null;
                                sampleUrl: string | null;
                                selected: number;
                                status: "failed" | "generating" | "ready";
                                versions: number[];
                            };
                            type: "AI"
                            | "Direct";
                            updatedAt: string;
                        },
                    >;
                    submitProof: (
                        campaignId: string,
                        input: { captures: number; url: string },
                    ) => Promise<
                        {
                            brief: {
                                ban: string;
                                channels: string[];
                                cta: string;
                                disclosure: string;
                                goal: string;
                                length: number;
                                message: string;
                                mustSay: string;
                                scene: string;
                                target: string;
                                tone: string;
                            };
                            cancelReason: string
                            | null;
                            code: string;
                            createdAt: string;
                            creator:
                                | {
                                    category: string;
                                    color: string;
                                    engagement: number;
                                    followers: number;
                                    handle: string;
                                    id: string;
                                    name: string;
                                    photoUrl: string
                                    | null;
                                    verified: boolean;
                                }
                                | null;
                            emoji: string;
                            id: string;
                            imageUrl: string
                            | null;
                            jobs: {
                                attempts: number;
                                createdAt: string;
                                credits: number;
                                error: string | null;
                                finishedAt: string | null;
                                id: string;
                                kind: "storyboard" | "revision" | "sample" | "final";
                                maxAttempts: number;
                                provider: string;
                                status:
                                    | "failed"
                                    | "done"
                                    | "queued"
                                    | "running"
                                    | "retry"
                                    | "blocked"
                                    | "cancelled";
                            }[];
                            name: string;
                            offer: | {
                                assets: string[];
                                blocker: string
                                | null;
                                channel: string;
                                creatorId: string;
                                expiresAt: string;
                                format: string;
                                id: string;
                                keep: string;
                                media: string[];
                                message: string;
                                portfolio: boolean;
                                postDate: string;
                                region: string;
                                rejectReason: string | null;
                                respondedAt: string | null;
                                rightsEnd: string;
                                rightsStart: string;
                                sentAt: string;
                                status: "withdrawn" | "sent" | "accepted" | "rejected" | "expired";
                                thread: {
                                    at: string;
                                    by: (...) | (...) | (...) | (...);
                                    name: string;
                                    tag?: (...) | (...);
                                    text: string;
                                }[];
                            }
                            | null;
                            order: | {
                                blocked: string
                                | null;
                                comments: {
                                    at: string;
                                    by: (...) | (...) | (...) | (...);
                                    name: string;
                                    tag?: (...) | (...);
                                    text: string;
                                }[];
                                confirmedAt: string;
                                creatorMetricsDone: boolean;
                                id: string;
                                metrics: {
                                    at: string;
                                    by: string;
                                    id: string;
                                    name: string;
                                    period: string;
                                    source: (...)
                                    | (...)
                                    | (...);
                                    value: number;
                                    verified: boolean;
                                }[];
                                outputUrl: string
                                | null;
                                paidAt: string | null;
                                payoutStatus: "paid" | "progress" | "scheduled" | "hold";
                                proof:
                                    | { at: string; captures: number; url: string; verified: boolean }
                                    | null;
                                qa: string;
                                revisionsLeft: number;
                                usesVoice: boolean;
                                version: number;
                            }
                            | null;
                            orgId: string;
                            orgName: string;
                            pastOffers: {
                                at: string;
                                creatorId: string;
                                creatorName: string;
                                id: string;
                                note: string;
                                status: "withdrawn"
                                | "rejected"
                                | "expired";
                            }[];
                            payout: number
                            | null;
                            price: number | null;
                            productId: string;
                            stage:
                                | "done"
                                | "accepted"
                                | "storyboard"
                                | "cancelled"
                                | "matching"
                                | "offer"
                                | "producing"
                                | "creator_review"
                                | "advertiser_review"
                                | "approved"
                                | "published";
                            stageLabel: string;
                            storyboard: {
                                approved: | { at: string; by: string; no: number; version: number }
                                | null;
                                batch: number;
                                history: {
                                    at: string;
                                    by: string;
                                    detail: string;
                                    title: string;
                                    tone?: "done" | "warn";
                                }[];
                                notes: string[];
                                options: {
                                    cta: string;
                                    exposure: string;
                                    no: number;
                                    qa: { ok: boolean; text: string };
                                    scenes: { exposure?: ...; line: ...; time: ...; visual: ... }[];
                                    summary: string;
                                    title: string;
                                    version: number;
                                }[];
                                regenerationsLeft: number;
                                sample: "generating"
                                | "ready"
                                | "none";
                                sampleAudioUrl: string | null;
                                sampleUrl: string | null;
                                selected: number;
                                status: "failed" | "generating" | "ready";
                                versions: number[];
                            };
                            type: "AI"
                            | "Direct";
                            updatedAt: string;
                        },
                    >;
                    submitSocialMetrics: (
                        socialId: string,
                        input: { captures: number; followers: number; views: number },
                    ) => Promise<
                        {
                            accounts: {
                                handle: string;
                                id: string;
                                lastSync: string
                                | null;
                                mode: "api" | "manual";
                                platform: string;
                                status: "pending" | "connected" | "disconnected";
                                tokenExpiry: string | null;
                            }[];
                            snapshots: {
                                at: string;
                                id: string;
                                metric: string;
                                period: string;
                                platform: string;
                                source: string;
                                status: "pending"
                                | "rejected"
                                | "confirmed";
                                unit: string;
                                value: string;
                            }[];
                        },
                    >;
                    updateConsent: (
                        assetId: string,
                        input: {
                            agreed: boolean;
                            end: string;
                            media: string[];
                            paid: boolean;
                            portfolio: boolean;
                            region: string;
                            secondary: boolean;
                            showcase: boolean;
                            start: string;
                        },
                    ) => Promise<
                        {
                            boardAt: string
                            | null;
                            boardStatus: "pending" | "failed" | "ready" | "none";
                            consent:
                                | {
                                    doc: string;
                                    end: string;
                                    issueResolved: string
                                    | null;
                                    media: string[];
                                    paid: boolean;
                                    portfolio: boolean;
                                    purpose: string;
                                    region: string;
                                    revokedAt: string | null;
                                    revokeReason: string | null;
                                    secondary: boolean;
                                    showcase: boolean;
                                    signedAt: string;
                                    start: string;
                                    status: "active" | "suspended" | "expired" | "revoked";
                                }
                                | null;
                            desc: string;
                            destroyAt: string
                            | null;
                            hasFile: boolean;
                            id: string;
                            kind: "face" | "voice" | "ref";
                            label: string;
                            replaced: boolean;
                            review: "pending" | "rejected" | "approved" | "needs";
                            uploadedAt: string;
                            version: number;
                        },
                    >;
                    uploadAsset: (
                        input: {
                            desc: string;
                            fileUrl: string;
                            kind: "face" | "voice" | "ref";
                        },
                    ) => Promise<
                        {
                            boardAt: string
                            | null;
                            boardStatus: "pending" | "failed" | "ready" | "none";
                            consent:
                                | {
                                    doc: string;
                                    end: string;
                                    issueResolved: string
                                    | null;
                                    media: string[];
                                    paid: boolean;
                                    portfolio: boolean;
                                    purpose: string;
                                    region: string;
                                    revokedAt: string | null;
                                    revokeReason: string | null;
                                    secondary: boolean;
                                    showcase: boolean;
                                    signedAt: string;
                                    start: string;
                                    status: "active" | "suspended" | "expired" | "revoked";
                                }
                                | null;
                            desc: string;
                            destroyAt: string
                            | null;
                            hasFile: boolean;
                            id: string;
                            kind: "face" | "voice" | "ref";
                            label: string;
                            replaced: boolean;
                            review: "pending" | "rejected" | "approved" | "needs";
                            uploadedAt: string;
                            version: number;
                        },
                    >;
                };
                creators: {
                    get: (
                        creatorId: string,
                    ) => Promise<
                        {
                            aiFee: number
                            | null;
                            aiPrice: number | null;
                            available: "now" | "later" | "busy";
                            availableText: string;
                            bio: string;
                            cadence: string;
                            categories: string[];
                            category: string;
                            channels: string[];
                            color: string;
                            dataSource: string;
                            directFee: number | null;
                            directPrice: number | null;
                            engagement: number;
                            excluded: string[];
                            followers: number;
                            handle: string;
                            id: string;
                            langs: string[];
                            name: string;
                            photoUrl: string | null;
                            verified: boolean;
                        },
                    >;
                    list: (
                        params?: {
                            category?: string;
                            channel?: string;
                            page?: number;
                            pageSize?: number;
                            q?: string;
                            sort?: "followers" | "engagement" | "price";
                            type?: "AI" | "Direct";
                        },
                    ) => Promise<
                        {
                            items: {
                                aiFee: number
                                | null;
                                aiPrice: number | null;
                                available: "now" | "later" | "busy";
                                availableText: string;
                                bio: string;
                                cadence: string;
                                categories: string[];
                                category: string;
                                channels: string[];
                                color: string;
                                dataSource: string;
                                directFee: number | null;
                                directPrice: number | null;
                                engagement: number;
                                excluded: string[];
                                followers: number;
                                handle: string;
                                id: string;
                                langs: string[];
                                name: string;
                                photoUrl: string | null;
                                verified: boolean;
                            }[];
                            page: number;
                            pageSize: number;
                            total: number;
                        },
                    >;
                };
                me: () => Promise<
                    {
                        creator: | {
                            aiFee: number
                            | null;
                            aiOn: boolean;
                            aiPrice: number | null;
                            available: "now" | "later" | "busy";
                            availableFlag: boolean;
                            availableFrom: string | null;
                            availableText: string;
                            bio: string;
                            cadence: string;
                            categories: string[];
                            category: string;
                            channels: string[];
                            color: string;
                            dataSource: string;
                            directFee: number | null;
                            directOn: boolean;
                            directPrice: number | null;
                            engagement: number;
                            excluded: string[];
                            followers: number;
                            handle: string;
                            id: string;
                            keep: string;
                            langs: string[];
                            lead: string;
                            monthCap: number;
                            name: string;
                            payoutAccount: { bank: string; holder: string; number: string } | null;
                            photoUrl: string | null;
                            review: "pending" | "rejected" | "approved" | "needs";
                            verified: boolean;
                        }
                        | null;
                        mockAi: boolean;
                        org: | {
                            bizNumber: string;
                            channel: string;
                            credits: number;
                            email: string;
                            id: string;
                            members: {
                                email: string;
                                id: string;
                                joined: boolean;
                                lastSeen: string
                                | null;
                                name: string | null;
                                role: "admin" | "manager";
                            }[];
                            myRole: "admin"
                            | "manager";
                            name: string;
                            review: "pending" | "rejected" | "approved" | "needs";
                        }
                        | null;
                        roles: ("advertiser" | "creator")[];
                    },
                >;
                org: {
                    chargeCredits: (
                        input: { amount: number; idempotencyKey: string },
                    ) => Promise<
                        {
                            balance: number;
                            costs: { [key: string]: number };
                            ledger: {
                                at: string;
                                delta: number;
                                desc: string;
                                id: string;
                                kind: "none" | "debit" | "charge" | "grant" | "adjust";
                                ref: string;
                            }[];
                            reserved: number;
                            unitPrice: number;
                            vatRate: number;
                        },
                    >;
                    create: (
                        input: {
                            bizNumber: string;
                            channel?: string;
                            email: string;
                            name: string;
                        },
                    ) => Promise<
                        {
                            bizNumber: string;
                            channel: string;
                            credits: number;
                            email: string;
                            id: string;
                            members: {
                                email: string;
                                id: string;
                                joined: boolean;
                                lastSeen: string
                                | null;
                                name: string | null;
                                role: "admin" | "manager";
                            }[];
                            myRole: "admin"
                            | "manager";
                            name: string;
                            review: "pending" | "rejected" | "approved" | "needs";
                        },
                    >;
                    credits: () => Promise<
                        {
                            balance: number;
                            costs: { [key: string]: number };
                            ledger: {
                                at: string;
                                delta: number;
                                desc: string;
                                id: string;
                                kind: "none" | "debit" | "charge" | "grant" | "adjust";
                                ref: string;
                            }[];
                            reserved: number;
                            unitPrice: number;
                            vatRate: number;
                        },
                    >;
                    invite: (
                        input: { email: string; role: "admin" | "manager" },
                    ) => Promise<
                        {
                            bizNumber: string;
                            channel: string;
                            credits: number;
                            email: string;
                            id: string;
                            members: {
                                email: string;
                                id: string;
                                joined: boolean;
                                lastSeen: string
                                | null;
                                name: string | null;
                                role: "admin" | "manager";
                            }[];
                            myRole: "admin"
                            | "manager";
                            name: string;
                            review: "pending" | "rejected" | "approved" | "needs";
                        },
                    >;
                    removeMember: (
                        memberId: string,
                    ) => Promise<
                        {
                            bizNumber: string;
                            channel: string;
                            credits: number;
                            email: string;
                            id: string;
                            members: {
                                email: string;
                                id: string;
                                joined: boolean;
                                lastSeen: string
                                | null;
                                name: string | null;
                                role: "admin" | "manager";
                            }[];
                            myRole: "admin"
                            | "manager";
                            name: string;
                            review: "pending" | "rejected" | "approved" | "needs";
                        },
                    >;
                    update: (
                        input: {
                            bizNumber?: string;
                            channel?: string;
                            email?: string;
                            name?: string;
                        },
                    ) => Promise<
                        {
                            bizNumber: string;
                            channel: string;
                            credits: number;
                            email: string;
                            id: string;
                            members: {
                                email: string;
                                id: string;
                                joined: boolean;
                                lastSeen: string
                                | null;
                                name: string | null;
                                role: "admin" | "manager";
                            }[];
                            myRole: "admin"
                            | "manager";
                            name: string;
                            review: "pending" | "rejected" | "approved" | "needs";
                        },
                    >;
                };
                pricing: () => Promise<
                    {
                        aiFee: number;
                        autoApproveDays: number;
                        cap: number;
                        commission: number;
                        credits: {
                            extraRevision?: number;
                            revision?: number;
                            sample?: number;
                            storyboard?: number;
                            unit?: number;
                        };
                        history: {
                            at: string;
                            by: string;
                            detail: string;
                            title: string;
                            tone?: "done"
                            | "warn";
                        }[];
                        offerDays: number;
                        opsFee: number;
                        retry: number;
                        revisions: number;
                        rightsDays: number;
                        rightsFee: number;
                        rounding: number;
                        samples: number;
                        urlMinutes: number;
                        version: number;
                        withholding: number;
                    },
                >;
                products: {
                    create: (
                        input: {
                            banned: string[];
                            benefits: string[];
                            category: string;
                            desc?: string;
                            emoji?: string;
                            evidence?: string | null;
                            imageUrl?: string | null;
                            name: string;
                        },
                    ) => Promise<
                        {
                            banned: string[];
                            benefits: string[];
                            campaignCount: number;
                            category: string;
                            createdAt: string;
                            desc: string;
                            emoji: string;
                            evidence: string
                            | null;
                            id: string;
                            imageUrl: string | null;
                            name: string;
                            status: "active" | "review" | "archived";
                            updatedAt: string;
                        },
                    >;
                    list: (
                        includeArchived?: boolean,
                    ) => Promise<
                        {
                            banned: string[];
                            benefits: string[];
                            campaignCount: number;
                            category: string;
                            createdAt: string;
                            desc: string;
                            emoji: string;
                            evidence: string
                            | null;
                            id: string;
                            imageUrl: string | null;
                            name: string;
                            status: "active" | "review" | "archived";
                            updatedAt: string;
                        }[],
                    >;
                    setStatus: (
                        productId: string,
                        input: { status: "active" | "archived" },
                    ) => Promise<
                        {
                            banned: string[];
                            benefits: string[];
                            campaignCount: number;
                            category: string;
                            createdAt: string;
                            desc: string;
                            emoji: string;
                            evidence: string
                            | null;
                            id: string;
                            imageUrl: string | null;
                            name: string;
                            status: "active" | "review" | "archived";
                            updatedAt: string;
                        },
                    >;
                    update: (
                        productId: string,
                        input: {
                            banned?: string[];
                            benefits?: string[];
                            category?: string;
                            desc?: string;
                            emoji?: string;
                            evidence?: string | null;
                            imageUrl?: string | null;
                            name?: string;
                        },
                    ) => Promise<
                        {
                            banned: string[];
                            benefits: string[];
                            campaignCount: number;
                            category: string;
                            createdAt: string;
                            desc: string;
                            emoji: string;
                            evidence: string
                            | null;
                            id: string;
                            imageUrl: string | null;
                            name: string;
                            status: "active" | "review" | "archived";
                            updatedAt: string;
                        },
                    >;
                };
            };
            uploads: {
                ticket: (
                    input: {
                        contentType: string;
                        purpose:
                            | "avatar"
                            | "place"
                            | "event"
                            | "casting"
                            | "product"
                            | "asset"
                            | "proof"
                            | "evidence";
                        size: number;
                    },
                ) => Promise<
                    {
                        expiresIn: number;
                        headers: { [key: string]: string };
                        key: string;
                        method: "PUT";
                        uploadUrl: string;
                        url: string;
                    },
                >;
            };
            users: {
                addProfile: (
                    input: {
                        role: "user" | "influencer" | "venue" | "advertiser" | "creator";
                        service: "day" | "studio";
                    },
                ) => Promise<
                    {
                        admin: { role: "owner" | "operator" }
                        | null;
                        createdAt: string;
                        email: string;
                        emailVerified: boolean;
                        id: string;
                        name: string;
                        profiles: {
                            role: "user" | "influencer" | "venue" | "advertiser" | "creator";
                            service: "day" | "studio";
                        }[];
                        status: "active"
                        | "suspended"
                        | "withdrawn";
                    },
                >;
                changePassword: (
                    input: { currentPassword: string; newPassword: string },
                ) => Promise<void>;
                revokeOtherSessions: () => Promise<{ revoked: number }>;
                revokeSession: (id: string) => Promise<void>;
                sessions: () => Promise<
                    {
                        items: {
                            createdAt: string;
                            current: boolean;
                            id: string;
                            ip: string;
                            lastUsedAt: string;
                            userAgent: string
                            | null;
                        }[];
                    },
                >;
                updateMe: (
                    input: { name?: string },
                ) => Promise<
                    {
                        admin: { role: "owner" | "operator" }
                        | null;
                        createdAt: string;
                        email: string;
                        emailVerified: boolean;
                        id: string;
                        name: string;
                        profiles: {
                            role: "user" | "influencer" | "venue" | "advertiser" | "creator";
                            service: "day" | "studio";
                        }[];
                        status: "active"
                        | "suspended"
                        | "withdrawn";
                    },
                >;
                withdraw: (input: { password: string; reason?: string }) => Promise<void>;
                withdrawalCheck: () => Promise<
                    { blockers: { reason: string; service: "day"
                    | "studio" }[] },
                >;
            };
        }

      Returns Promise<
          | {
              admin: { role: "owner" | "operator" }
              | null;
              createdAt: string;
              email: string;
              emailVerified: boolean;
              id: string;
              name: string;
              profiles: {
                  role: "user" | "influencer" | "venue" | "advertiser" | "creator";
                  service: "day" | "studio";
              }[];
              status: "active"
              | "suspended"
              | "withdrawn";
          }
          | null,
      >