import type { components, paths } from '../generated/api.js';
import type { SkillId } from '../core/branded-types.js';
import { WorkspaceScopedResource } from './base.js';
import type { ListParams } from '../core/utils.js';
type SkillsListQuery = NonNullable<NonNullable<paths['/v1/{workspace_id}/skills']['get']['parameters']['query']>>;
export interface ListSkillsParams extends ListParams {
    search?: string;
    enabled?: boolean;
    sort_by?: SkillsListQuery['sort_by'];
}
/**
 * Manage skills — reusable AI capabilities that agents can call.
 * Skills define structured input/output schemas and execution settings.
 */
export declare class SkillsResource extends WorkspaceScopedResource {
    /** Create a new skill */
    create(body: components['schemas']['CreateSkillRequest']): Promise<{
        approval_required: boolean;
        checkpoint_enabled: boolean;
        created_at: string;
        description: string;
        enable_caching: boolean;
        enable_citations: boolean;
        enabled: boolean;
        id: string;
        input_schema: {
            [x: string]: unknown;
        };
        integration_tools: {
            endpoint: string;
            integration: string;
        }[];
        max_agent_turns: number;
        max_input_tokens: number | null;
        max_result_chars: number;
        max_tokens: number;
        model: string;
        name: string;
        result_schema: {
            [x: string]: unknown;
        } | null;
        slug: string;
        static_tools: {
            description: string;
            input_schema: {
                [x: string]: unknown;
            };
            name: string;
        }[];
        system_prompt: string;
        temperature: number | null;
        thinking_effort: ("low" | "medium" | "high") | null;
        timeout_s: number;
        top_p: number | null;
        updated_at: string;
        use_structured_output: boolean;
        workspace_id: string;
    } & import("../index.js").ResponseMetadata>;
    /** List skills in the workspace */
    list(params?: ListSkillsParams): Promise<{
        continuation_token?: number | null | undefined;
        has_more: boolean;
        items: {
            approval_required: boolean;
            checkpoint_enabled: boolean;
            created_at: string;
            description: string;
            enable_caching: boolean;
            enable_citations: boolean;
            enabled: boolean;
            id: string;
            input_schema: {
                [x: string]: unknown;
            };
            integration_tools: {
                endpoint: string;
                integration: string;
            }[];
            max_agent_turns: number;
            max_input_tokens: number | null;
            max_result_chars: number;
            max_tokens: number;
            model: string;
            name: string;
            result_schema: {
                [x: string]: unknown;
            } | null;
            slug: string;
            static_tools: {
                description: string;
                input_schema: {
                    [x: string]: unknown;
                };
                name: string;
            }[];
            system_prompt: string;
            temperature: number | null;
            thinking_effort: ("low" | "medium" | "high") | null;
            timeout_s: number;
            top_p: number | null;
            updated_at: string;
            use_structured_output: boolean;
            workspace_id: string;
        }[];
        total?: number | null | undefined;
    } & import("../index.js").ResponseMetadata>;
    listAutoPaging(params?: ListSkillsParams): AsyncGenerator<{
        approval_required: boolean;
        checkpoint_enabled: boolean;
        created_at: string;
        description: string;
        enable_caching: boolean;
        enable_citations: boolean;
        enabled: boolean;
        id: string;
        input_schema: {
            [x: string]: unknown;
        };
        integration_tools: {
            endpoint: string;
            integration: string;
        }[];
        max_agent_turns: number;
        max_input_tokens: number | null;
        max_result_chars: number;
        max_tokens: number;
        model: string;
        name: string;
        result_schema: {
            [x: string]: unknown;
        } | null;
        slug: string;
        static_tools: {
            description: string;
            input_schema: {
                [x: string]: unknown;
            };
            name: string;
        }[];
        system_prompt: string;
        temperature: number | null;
        thinking_effort: ("low" | "medium" | "high") | null;
        timeout_s: number;
        top_p: number | null;
        updated_at: string;
        use_structured_output: boolean;
        workspace_id: string;
    }, any, any>;
    /** Get a single skill */
    get(skillId: SkillId | string): Promise<{
        approval_required: boolean;
        checkpoint_enabled: boolean;
        created_at: string;
        description: string;
        enable_caching: boolean;
        enable_citations: boolean;
        enabled: boolean;
        id: string;
        input_schema: {
            [x: string]: unknown;
        };
        integration_tools: {
            endpoint: string;
            integration: string;
        }[];
        max_agent_turns: number;
        max_input_tokens: number | null;
        max_result_chars: number;
        max_tokens: number;
        model: string;
        name: string;
        result_schema: {
            [x: string]: unknown;
        } | null;
        slug: string;
        static_tools: {
            description: string;
            input_schema: {
                [x: string]: unknown;
            };
            name: string;
        }[];
        system_prompt: string;
        temperature: number | null;
        thinking_effort: ("low" | "medium" | "high") | null;
        timeout_s: number;
        top_p: number | null;
        updated_at: string;
        use_structured_output: boolean;
        workspace_id: string;
    } & import("../index.js").ResponseMetadata>;
    /** Update a skill */
    update(skillId: SkillId | string, body: components['schemas']['UpdateSkillRequest']): Promise<{
        approval_required: boolean;
        checkpoint_enabled: boolean;
        created_at: string;
        description: string;
        enable_caching: boolean;
        enable_citations: boolean;
        enabled: boolean;
        id: string;
        input_schema: {
            [x: string]: unknown;
        };
        integration_tools: {
            endpoint: string;
            integration: string;
        }[];
        max_agent_turns: number;
        max_input_tokens: number | null;
        max_result_chars: number;
        max_tokens: number;
        model: string;
        name: string;
        result_schema: {
            [x: string]: unknown;
        } | null;
        slug: string;
        static_tools: {
            description: string;
            input_schema: {
                [x: string]: unknown;
            };
            name: string;
        }[];
        system_prompt: string;
        temperature: number | null;
        thinking_effort: ("low" | "medium" | "high") | null;
        timeout_s: number;
        top_p: number | null;
        updated_at: string;
        use_structured_output: boolean;
        workspace_id: string;
    } & import("../index.js").ResponseMetadata>;
    /** Delete a skill */
    delete(skillId: SkillId | string): Promise<void>;
    /**
     * Test a skill with a sample input.
     * Executes the skill in a sandbox and returns the result.
     */
    test(skillId: SkillId | string, body: components['schemas']['TestSkillRequest']): Promise<{
        cached_tokens: number;
        duration_ms: number;
        error?: string | null | undefined;
        input_tokens: number;
        output_tokens: number;
        result: string;
        rounds: number;
        sub_tool_logs: {
            duration_ms: number;
            input: {
                [x: string]: unknown;
            };
            output: string;
            round: number;
            succeeded: boolean;
            tool_name: string;
        }[];
    } & import("../index.js").ResponseMetadata>;
}
export {};
//# sourceMappingURL=skills.d.ts.map