import { Tags } from "exiftool-vendored";
type TagKey1 = keyof {
    [K in keyof Tags as Tags[K] extends string | undefined ? K : never]: Tags[K];
};
type TagKey2 = keyof {
    [K in keyof Tags as Tags[K] extends string | string[] | undefined ? K : never]: Tags[K];
};
export type TagKey = Exclude<TagKey2, TagKey1>;
export declare function getTags({ buffer, model, prompt, providerModule, providerArgs, verbose, tagTags, existingTags, additionalTags, path, file_id, repeat, provider, }: {
    buffer: Buffer;
    model?: string;
    prompt: string;
    providerModule?: unknown;
    providerArgs?: string[];
    verbose?: boolean;
    tagTags: readonly TagKey[];
    existingTags?: Readonly<Tags>;
    additionalTags?: readonly string[];
    path: string;
    file_id?: string;
    repeat?: number;
    provider?: string;
}): Promise<Record<TagKey, string[]>>;
export {};
