import { IExecuteFunctions } from 'n8n-workflow';
export interface ISpaceDetail {
    project_key: string;
    name: string;
    simple_name?: string;
    administrators?: string[];
}
export interface IWorkItemType {
    type_key: string;
    name: string;
    is_disable?: number;
    api_name?: string;
    enable_model_resource_lib?: boolean;
}
export interface IWorkItemFieldMeta {
    field_key: string;
    field_name: string;
    field_alias?: string;
    field_type_key?: string;
    field_uuid?: string;
    field_tips?: string;
    label?: string;
    is_required: number;
    is_validity?: number;
    is_visibility?: number;
    default_value?: {
        default_appear: number;
        value: unknown;
    };
}
export declare function getSpaceList(this: IExecuteFunctions): Promise<string[]>;
export declare function getSpaceDetails(this: IExecuteFunctions, projectKeys: string[]): Promise<ISpaceDetail[]>;
export declare function getWorkItemTypes(this: IExecuteFunctions, projectKey: string): Promise<IWorkItemType[]>;
export declare function getWorkItemFieldMeta(this: IExecuteFunctions, projectKey: string, workItemTypeKey: string): Promise<IWorkItemFieldMeta[]>;
export interface IFieldOption {
    label: string;
    value: string;
    is_disabled?: number;
    children?: IFieldOption[];
}
export interface IWorkItemField {
    field_key: string;
    field_name: string;
    field_type_key?: string;
    field_uuid?: string;
    label?: string;
    options?: IFieldOption[];
    compound_fields?: unknown[];
    is_custom_field?: boolean;
}
export declare function mapFeishuFieldTypeToN8n(feishuType: string): 'string' | 'number' | 'dateTime' | 'boolean' | 'options';
export interface IWorkflowTemplate {
    template_id: number;
    template_name: string;
    version: number;
}
export declare function getWorkflowTemplates(this: IExecuteFunctions, projectKey: string, workItemTypeKey: string): Promise<IWorkflowTemplate[]>;
export declare function getWorkItemFieldsAll(this: IExecuteFunctions, projectKey: string, workItemTypeKey: string): Promise<IWorkItemField[]>;
