import { APIResource } from "../../../core/resource.mjs";
import { APIPromise } from "../../../core/api-promise.mjs";
import { RequestOptions } from "../../../internal/request-options.mjs";
export declare class BaseLogos extends APIResource {
    static readonly _key: readonly ['brandProtection', 'v2', 'logos'];
    /**
     * Create a new saved brand protection logo query for visual similarity matching
     */
    create(params: LogoCreateParams, options?: RequestOptions): APIPromise<LogoCreateResponse>;
    /**
     * Delete a saved brand protection logo query. Returns 404 if the query ID doesn't
     * exist.
     */
    delete(queryID: string, params: LogoDeleteParams, options?: RequestOptions): APIPromise<LogoDeleteResponse>;
    /**
     * Get all saved brand protection logo queries for an account. Optionally specify
     * id to get a single query. Set download=true to include base64-encoded image
     * data.
     */
    get(params: LogoGetParams, options?: RequestOptions): APIPromise<LogoGetResponse>;
}
export declare class Logos extends BaseLogos {
}
export interface LogoCreateResponse {
    message: string;
    success: boolean;
    query_id?: number;
}
export interface LogoDeleteResponse {
    message: string;
    success: boolean;
}
export type LogoGetResponse = Array<LogoGetResponse.LogoGetResponseItem>;
export declare namespace LogoGetResponse {
    interface LogoGetResponseItem {
        id: number;
        r2_path: string;
        similarity_threshold: number;
        tag: string;
        uploaded_at: string | null;
        /**
         * MIME type of the image (only present when download=true)
         */
        content_type?: string;
        /**
         * Base64-encoded image data (only present when download=true)
         */
        image_data?: string;
    }
}
export interface LogoCreateParams {
    /**
     * Path param
     */
    account_id: string;
    /**
     * Body param: Base64 encoded image data. Can include data URI prefix (e.g.,
     * 'data:image/png;base64,...') or just the base64 string.
     */
    image_data: string;
    /**
     * Body param: Minimum similarity score (0-1) required for visual matches
     */
    similarity_threshold: number;
    /**
     * Body param: Unique identifier for the logo query
     */
    tag: string;
    /**
     * Body param: If true, search historic scanned images for matches above the
     * similarity threshold
     */
    search_lookback?: boolean;
}
export interface LogoDeleteParams {
    account_id: string;
}
export interface LogoGetParams {
    /**
     * Path param
     */
    account_id: string;
    /**
     * Query param: Optional query ID to retrieve a specific logo query
     */
    id?: string;
    /**
     * Query param: If true, include base64-encoded image data in the response
     */
    download?: string;
}
export declare namespace Logos {
    export { type LogoCreateResponse as LogoCreateResponse, type LogoDeleteResponse as LogoDeleteResponse, type LogoGetResponse as LogoGetResponse, type LogoCreateParams as LogoCreateParams, type LogoDeleteParams as LogoDeleteParams, type LogoGetParams as LogoGetParams, };
}
//# sourceMappingURL=logos.d.mts.map