import * as pulumi from "@pulumi/pulumi";
/**
 * Creates a new agent task for the specified organization. The request must include a prompt (the user event message) that initiates the task. Set the 'permissionMode' field in the request body to restrict the agent to read-only operations. Returns the created task details including task ID, name, status, and timestamp.
 */
export declare class Task extends pulumi.CustomResource {
    /**
     * Get an existing Task resource's state with the given name, ID, and optional extra
     * properties used to qualify the lookup.
     *
     * @param name The _unique_ name of the resulting resource.
     * @param id The _unique_ provider ID of the resource to lookup.
     * @param opts Optional settings to control the behavior of the CustomResource.
     */
    static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): Task;
    /**
     * Returns true if the given object is an instance of Task.  This is designed to work even
     * when multiple copies of the Pulumi SDK have been loaded into the same process.
     */
    static isInstance(obj: any): obj is Task;
    /**
     * Approval mode for this task. Valid values: 'manual', 'auto', 'balanced'.
     */
    readonly approvalMode: pulumi.Output<string>;
    /**
     * The async trigger source for this task. Null for sync tasks.
     */
    readonly asyncTriggerType: pulumi.Output<string | undefined>;
    /**
     * Percentage of the context window (1-100) at which the agent triggers conversation compaction. Populated alongside contextWindowTokens when token usage data is available; omitted otherwise.
     */
    readonly contextCompactionThresholdPercent: pulumi.Output<number | undefined>;
    /**
     * Total input tokens consumed across all model invocations for this task. Approximate context window usage.
     */
    readonly contextUsedTokens: pulumi.Output<number | undefined>;
    /**
     * Maximum context window size in tokens for the primary model used by this task.
     */
    readonly contextWindowTokens: pulumi.Output<number | undefined>;
    /**
     * When the task was created, in ISO 8601 format.
     */
    readonly createdAt: pulumi.Output<string>;
    /**
     * Information about the user who created this task.
     */
    readonly createdBy: pulumi.Output<any>;
    /**
     * Pulumi entities (stacks, projects, etc.) that provide context for the agent.
     */
    readonly entities: pulumi.Output<any[]>;
    /**
     * Whether this task is shared with other org members.
     */
    readonly isShared: pulumi.Output<boolean>;
    /**
     * When the task runtime last reported a heartbeat. Null if the runtime has never checked in.
     */
    readonly lastHeartbeat: pulumi.Output<string | undefined>;
    /**
     * Display name for the task, typically auto-generated from the initial user message.
     */
    readonly name: pulumi.Output<string>;
    /**
     * The permission scope for the task.
     */
    readonly permissionMode: pulumi.Output<string | undefined>;
    /**
     * Whether the task is in plan mode. Set based on the first user message.
     */
    readonly planMode: pulumi.Output<boolean>;
    /**
     * The current runtime phase for this task. Null until the runtime checks in.
     */
    readonly runtimePhase: pulumi.Output<string | undefined>;
    /**
     * When the task was first shared. Null if never shared.
     */
    readonly sharedAt: pulumi.Output<string | undefined>;
    /**
     * The origin that triggered this task. Valid values: 'console', 'cli', 'slack', 'schedule', 'api', 'github'.
     */
    readonly source: pulumi.Output<string | undefined>;
    /**
     * The automation that spawned this task, if the task was created by an automation run.
     */
    readonly sourceAutomationID: pulumi.Output<string | undefined>;
    /**
     * Current execution status of the task.
     */
    readonly status: pulumi.Output<string>;
    /**
     * Whether the task was started synchronously by a user or asynchronously by background automation.
     */
    readonly taskType: pulumi.Output<string>;
    /**
     * Total Neo tokens consumed across all model invocations for this task. Neo tokens are the priced unit used for billing — distinct from the raw model input tokens surfaced in contextUsedTokens / contextWindowTokens.
     */
    readonly tokensUsed: pulumi.Output<number>;
    /**
     * Where tools are executed for this task. Valid values: 'cloud', 'cli'.
     */
    readonly toolExecutionMode: pulumi.Output<string | undefined>;
    /**
     * Create a Task resource with the given unique name, arguments, and options.
     *
     * @param name The _unique_ name of the resource.
     * @param args The arguments to use to populate this resource's properties.
     * @param opts A bag of options that control this resource's behavior.
     */
    constructor(name: string, args: TaskArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * The set of arguments for constructing a Task resource.
 */
export interface TaskArgs {
    /**
     * Optional approval mode override for this task. If omitted, org default is used.
     */
    approvalMode?: pulumi.Input<string | undefined>;
    /**
     * Optional filter for CLI integrations to enable for this task. Semantics: omitted/null → enable all CLI integrations connected for the org; empty list → explicit opt-out (no CLI integrations for this task); populated list → whitelist by (catalogId, name) of the configured instances to enable. Entries with missing or unknown catalogId, missing name, or referencing a (catalogId, name) pair that is not connected for the organization are rejected with a 400 response. catalogId matching is case-insensitive.
     */
    cliIntegrations?: pulumi.Input<any[] | undefined>;
    /**
     * Optional list of integrations to enable for this task. Semantics: omitted/null → inherit all org-enabled integrations; empty list → explicit opt-out (no integration credentials for this task); populated list → whitelist of specific integrations by ID. Modeled as an object array rather than a bare string array so multi-instance support (instance_name, scope, etc.) can be added later without a wire break.
     */
    enabledIntegrations?: pulumi.Input<any[] | undefined>;
    /**
     * The message content
     */
    message?: any | undefined;
    /**
     * The organization name
     */
    orgName: pulumi.Input<string>;
    /**
     * Controls the permission scope for the task. When omitted, defaults to 'default' (the agent uses the creating user's full permissions).
     */
    permissionMode?: pulumi.Input<string | undefined>;
    /**
     * Whether to enable plan mode for this task.
     */
    planMode?: pulumi.Input<boolean | undefined>;
    /**
     * The origin that triggered this task. Defaults to 'api' if omitted.
     */
    source?: pulumi.Input<string | undefined>;
    /**
     * The agent task identifier
     */
    taskID?: pulumi.Input<string | undefined>;
    /**
     * Where tools should be executed. Defaults to 'cloud' if omitted.
     */
    toolExecutionMode?: pulumi.Input<string | undefined>;
}
//# sourceMappingURL=task.d.ts.map