import { z } from 'zod';
import { Note, NoteExtended } from 'ableton-js/util/note';
import { ClipSettableProp, ClipGettableProp } from '../types/zod-types.js';
declare class ClipTools {
    getClipInfoById({ clip_id, properties }: {
        clip_id: string;
        properties: z.infer<typeof ClipGettableProp>;
    }): Promise<any>;
    getClipNotes({ clip_id, from_pitch, from_time, time_span, pitch_span }: {
        clip_id: string;
        from_pitch: number;
        from_time: number;
        time_span: number;
        pitch_span: number;
    }): Promise<{
        data: Record<string, any>[];
    }>;
    removeClipNotes({ clip_id, from_pitch, pitch_span, from_time, time_span, historyId }: {
        clip_id: string;
        from_pitch: number;
        pitch_span: number;
        from_time: number;
        time_span: number;
        historyId: number;
    }): Promise<string>;
    removeClipNotesById({ clip_id, note_ids, historyId }: {
        clip_id: string;
        note_ids: number[];
        historyId: number;
    }): Promise<string>;
    addClipNotes({ notes, clip_id, historyId }: {
        notes: Note[];
        clip_id: string;
        historyId: number;
    }): Promise<string>;
    modifyClipNotes({ notes, clip_id, historyId }: {
        notes: NoteExtended[];
        clip_id: string;
        historyId: number;
    }): Promise<string>;
    replaceClipNotes({ notes, clip_id, historyId, notes_extended }: {
        notes: Note[];
        clip_id: string;
        historyId: number;
        notes_extended: NoteExtended[];
    }): Promise<string>;
    setClipProperty({ clips }: {
        clips: {
            clip_id: string;
            property: z.infer<typeof ClipSettableProp>;
        }[];
    }): Promise<string>;
    cropClip({ clip_id }: {
        clip_id: string;
    }): Promise<string>;
    duplicateLoop({ clip_id }: {
        clip_id: string;
    }): Promise<string>;
    duplicateRegion({ clip_id, region_start, region_end, destination_time, pitch, transposition_amount }: {
        clip_id: string;
        region_start: number;
        region_end: number;
        destination_time: number;
        pitch: number;
        transposition_amount: number;
    }): Promise<string>;
}
export default ClipTools;
