import { ServiceBubble } from '../../../types/service-bubble-class.js';
import type { BubbleContext } from '../../../types/bubble.js';
import { type AssembledParamsInput, type AssembledResult } from './assembled.schema.js';
export declare class AssembledBubble<T extends AssembledParamsInput = AssembledParamsInput> extends ServiceBubble<T, Extract<AssembledResult, {
    operation: T['operation'];
}>> {
    static readonly type: "service";
    static readonly service = "assembled";
    static readonly authType: "apikey";
    static readonly bubbleName: "assembled";
    static readonly schema: import("zod").ZodDiscriminatedUnion<"operation", [import("zod").ZodObject<{
        channel: import("zod").ZodOptional<import("zod").ZodString>;
        team: import("zod").ZodOptional<import("zod").ZodString>;
        site: import("zod").ZodOptional<import("zod").ZodString>;
        queue: import("zod").ZodOptional<import("zod").ZodString>;
        search: import("zod").ZodOptional<import("zod").ZodString>;
        limit: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNumber>>;
        offset: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNumber>>;
        operation: import("zod").ZodLiteral<"list_people">;
        credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
    }, "strip", import("zod").ZodTypeAny, {
        operation: "list_people";
        limit: number;
        offset: number;
        credentials?: Record<string, string> | undefined;
        search?: string | undefined;
        channel?: string | undefined;
        team?: string | undefined;
        site?: string | undefined;
        queue?: string | undefined;
    }, {
        operation: "list_people";
        credentials?: Record<string, string> | undefined;
        search?: string | undefined;
        channel?: string | undefined;
        limit?: number | undefined;
        offset?: number | undefined;
        team?: string | undefined;
        site?: string | undefined;
        queue?: string | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"get_person">;
        credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
        person_id: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        operation: "get_person";
        person_id: string;
        credentials?: Record<string, string> | undefined;
    }, {
        operation: "get_person";
        person_id: string;
        credentials?: Record<string, string> | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"create_person">;
        credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
        first_name: import("zod").ZodString;
        last_name: import("zod").ZodString;
        email: import("zod").ZodOptional<import("zod").ZodString>;
        imported_id: import("zod").ZodOptional<import("zod").ZodString>;
        channels: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
        teams: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
        queues: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
        site: import("zod").ZodOptional<import("zod").ZodString>;
        timezone: import("zod").ZodOptional<import("zod").ZodString>;
        roles: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
        staffable: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>;
    }, "strip", import("zod").ZodTypeAny, {
        operation: "create_person";
        first_name: string;
        last_name: string;
        staffable: boolean;
        email?: string | undefined;
        credentials?: Record<string, string> | undefined;
        channels?: string[] | undefined;
        teams?: string[] | undefined;
        timezone?: string | undefined;
        site?: string | undefined;
        imported_id?: string | undefined;
        queues?: string[] | undefined;
        roles?: string[] | undefined;
    }, {
        operation: "create_person";
        first_name: string;
        last_name: string;
        email?: string | undefined;
        credentials?: Record<string, string> | undefined;
        channels?: string[] | undefined;
        teams?: string[] | undefined;
        timezone?: string | undefined;
        site?: string | undefined;
        imported_id?: string | undefined;
        queues?: string[] | undefined;
        roles?: string[] | undefined;
        staffable?: boolean | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"update_person">;
        credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
        person_id: import("zod").ZodString;
        first_name: import("zod").ZodOptional<import("zod").ZodString>;
        last_name: import("zod").ZodOptional<import("zod").ZodString>;
        email: import("zod").ZodOptional<import("zod").ZodString>;
        channels: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
        teams: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
        queues: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
        site: import("zod").ZodOptional<import("zod").ZodString>;
        timezone: import("zod").ZodOptional<import("zod").ZodString>;
        staffable: import("zod").ZodOptional<import("zod").ZodBoolean>;
    }, "strip", import("zod").ZodTypeAny, {
        operation: "update_person";
        person_id: string;
        email?: string | undefined;
        credentials?: Record<string, string> | undefined;
        channels?: string[] | undefined;
        first_name?: string | undefined;
        last_name?: string | undefined;
        teams?: string[] | undefined;
        timezone?: string | undefined;
        site?: string | undefined;
        queues?: string[] | undefined;
        staffable?: boolean | undefined;
    }, {
        operation: "update_person";
        person_id: string;
        email?: string | undefined;
        credentials?: Record<string, string> | undefined;
        channels?: string[] | undefined;
        first_name?: string | undefined;
        last_name?: string | undefined;
        teams?: string[] | undefined;
        timezone?: string | undefined;
        site?: string | undefined;
        queues?: string[] | undefined;
        staffable?: boolean | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"list_activities">;
        credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
        start_time: import("zod").ZodNumber;
        end_time: import("zod").ZodNumber;
        agent_ids: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
        queue: import("zod").ZodOptional<import("zod").ZodString>;
        include_agents: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>;
    }, "strip", import("zod").ZodTypeAny, {
        operation: "list_activities";
        start_time: number;
        end_time: number;
        include_agents: boolean;
        credentials?: Record<string, string> | undefined;
        queue?: string | undefined;
        agent_ids?: string[] | undefined;
    }, {
        operation: "list_activities";
        start_time: number;
        end_time: number;
        credentials?: Record<string, string> | undefined;
        queue?: string | undefined;
        agent_ids?: string[] | undefined;
        include_agents?: boolean | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"create_activity">;
        credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
        agent_id: import("zod").ZodString;
        type_id: import("zod").ZodString;
        start_time: import("zod").ZodNumber;
        end_time: import("zod").ZodNumber;
        channels: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
        description: import("zod").ZodOptional<import("zod").ZodString>;
        allow_conflicts: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>;
    }, "strip", import("zod").ZodTypeAny, {
        operation: "create_activity";
        agent_id: string;
        start_time: number;
        end_time: number;
        type_id: string;
        allow_conflicts: boolean;
        description?: string | undefined;
        credentials?: Record<string, string> | undefined;
        channels?: string[] | undefined;
    }, {
        operation: "create_activity";
        agent_id: string;
        start_time: number;
        end_time: number;
        type_id: string;
        description?: string | undefined;
        credentials?: Record<string, string> | undefined;
        channels?: string[] | undefined;
        allow_conflicts?: boolean | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"delete_activities">;
        credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
        agent_ids: import("zod").ZodArray<import("zod").ZodString, "many">;
        start_time: import("zod").ZodNumber;
        end_time: import("zod").ZodNumber;
    }, "strip", import("zod").ZodTypeAny, {
        operation: "delete_activities";
        start_time: number;
        end_time: number;
        agent_ids: string[];
        credentials?: Record<string, string> | undefined;
    }, {
        operation: "delete_activities";
        start_time: number;
        end_time: number;
        agent_ids: string[];
        credentials?: Record<string, string> | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"create_time_off">;
        credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
        agent_id: import("zod").ZodString;
        start_time: import("zod").ZodNumber;
        end_time: import("zod").ZodNumber;
        type_id: import("zod").ZodOptional<import("zod").ZodString>;
        status: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodEnum<["approved", "pending"]>>>;
        notes: import("zod").ZodOptional<import("zod").ZodString>;
    }, "strip", import("zod").ZodTypeAny, {
        status: "pending" | "approved";
        operation: "create_time_off";
        agent_id: string;
        start_time: number;
        end_time: number;
        credentials?: Record<string, string> | undefined;
        notes?: string | undefined;
        type_id?: string | undefined;
    }, {
        operation: "create_time_off";
        agent_id: string;
        start_time: number;
        end_time: number;
        status?: "pending" | "approved" | undefined;
        credentials?: Record<string, string> | undefined;
        notes?: string | undefined;
        type_id?: string | undefined;
    }>, import("zod").ZodObject<{
        agent_ids: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
        status: import("zod").ZodOptional<import("zod").ZodEnum<["approved", "pending", "denied", "cancelled"]>>;
        limit: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNumber>>;
        offset: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNumber>>;
        operation: import("zod").ZodLiteral<"list_time_off">;
        credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
    }, "strip", import("zod").ZodTypeAny, {
        operation: "list_time_off";
        limit: number;
        offset: number;
        status?: "pending" | "cancelled" | "denied" | "approved" | undefined;
        credentials?: Record<string, string> | undefined;
        agent_ids?: string[] | undefined;
    }, {
        operation: "list_time_off";
        status?: "pending" | "cancelled" | "denied" | "approved" | undefined;
        credentials?: Record<string, string> | undefined;
        limit?: number | undefined;
        offset?: number | undefined;
        agent_ids?: string[] | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"cancel_time_off">;
        credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
        time_off_id: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        operation: "cancel_time_off";
        time_off_id: string;
        credentials?: Record<string, string> | undefined;
    }, {
        operation: "cancel_time_off";
        time_off_id: string;
        credentials?: Record<string, string> | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"list_queues">;
        credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
    }, "strip", import("zod").ZodTypeAny, {
        operation: "list_queues";
        credentials?: Record<string, string> | undefined;
    }, {
        operation: "list_queues";
        credentials?: Record<string, string> | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"list_teams">;
        credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
    }, "strip", import("zod").ZodTypeAny, {
        operation: "list_teams";
        credentials?: Record<string, string> | undefined;
    }, {
        operation: "list_teams";
        credentials?: Record<string, string> | undefined;
    }>]>;
    static readonly resultSchema: import("zod").ZodDiscriminatedUnion<"operation", [import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"list_people">;
        success: import("zod").ZodBoolean;
        error: import("zod").ZodString;
        people: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>, "many">>;
        total: import("zod").ZodOptional<import("zod").ZodNumber>;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "list_people";
        people?: Record<string, unknown>[] | undefined;
        total?: number | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "list_people";
        people?: Record<string, unknown>[] | undefined;
        total?: number | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"get_person">;
        success: import("zod").ZodBoolean;
        error: import("zod").ZodString;
        person: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "get_person";
        person?: Record<string, unknown> | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "get_person";
        person?: Record<string, unknown> | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"create_person">;
        success: import("zod").ZodBoolean;
        error: import("zod").ZodString;
        person: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "create_person";
        person?: Record<string, unknown> | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "create_person";
        person?: Record<string, unknown> | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"update_person">;
        success: import("zod").ZodBoolean;
        error: import("zod").ZodString;
        person: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "update_person";
        person?: Record<string, unknown> | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "update_person";
        person?: Record<string, unknown> | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"list_activities">;
        success: import("zod").ZodBoolean;
        error: import("zod").ZodString;
        activities: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>>;
        agents: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>>;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "list_activities";
        activities?: Record<string, Record<string, unknown>> | undefined;
        agents?: Record<string, Record<string, unknown>> | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "list_activities";
        activities?: Record<string, Record<string, unknown>> | undefined;
        agents?: Record<string, Record<string, unknown>> | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"create_activity">;
        success: import("zod").ZodBoolean;
        error: import("zod").ZodString;
        activity: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "create_activity";
        activity?: Record<string, unknown> | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "create_activity";
        activity?: Record<string, unknown> | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"delete_activities">;
        success: import("zod").ZodBoolean;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "delete_activities";
    }, {
        error: string;
        success: boolean;
        operation: "delete_activities";
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"create_time_off">;
        success: import("zod").ZodBoolean;
        error: import("zod").ZodString;
        time_off: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "create_time_off";
        time_off?: Record<string, unknown> | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "create_time_off";
        time_off?: Record<string, unknown> | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"list_time_off">;
        success: import("zod").ZodBoolean;
        error: import("zod").ZodString;
        requests: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>, "many">>;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "list_time_off";
        requests?: Record<string, unknown>[] | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "list_time_off";
        requests?: Record<string, unknown>[] | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"cancel_time_off">;
        success: import("zod").ZodBoolean;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "cancel_time_off";
    }, {
        error: string;
        success: boolean;
        operation: "cancel_time_off";
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"list_queues">;
        success: import("zod").ZodBoolean;
        error: import("zod").ZodString;
        queues: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>, "many">>;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "list_queues";
        queues?: Record<string, unknown>[] | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "list_queues";
        queues?: Record<string, unknown>[] | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"list_teams">;
        success: import("zod").ZodBoolean;
        error: import("zod").ZodString;
        teams: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>, "many">>;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "list_teams";
        teams?: Record<string, unknown>[] | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "list_teams";
        teams?: Record<string, unknown>[] | undefined;
    }>]>;
    static readonly shortDescription = "Workforce management platform for scheduling, time off, and agent management";
    static readonly longDescription = "Assembled is a workforce management platform. This integration supports managing people/agents, activities/schedules, time off requests, queues, and teams via the Assembled REST API.";
    static readonly alias = "assembled";
    constructor(params?: T, context?: BubbleContext);
    protected chooseCredential(): string | undefined;
    private getApiKey;
    testCredential(): Promise<boolean>;
    protected performAction(_context?: BubbleContext): Promise<Extract<AssembledResult, {
        operation: T['operation'];
    }>>;
    private listPeople;
    private getPerson;
    private createPerson;
    private updatePerson;
    private listActivities;
    private createActivity;
    private deleteActivities;
    private createTimeOff;
    private listTimeOff;
    private cancelTimeOff;
    private listQueues;
    private listTeams;
}
//# sourceMappingURL=assembled.d.ts.map