import { APIResource } from "../../../core/resource.mjs";
import { APIPromise } from "../../../core/api-promise.mjs";
import { RequestOptions } from "../../../internal/request-options.mjs";
export declare class BaseQueries extends APIResource {
    static readonly _key: readonly ['brandProtection', 'v2', 'queries'];
    /**
     * Get all saved brand protection queries for an account
     */
    get(params: QueryGetParams, options?: RequestOptions): APIPromise<QueryGetResponse>;
}
export declare class Queries extends BaseQueries {
}
export type QueryGetResponse = Array<QueryGetResponse.UnionMember0> | QueryGetResponse.UnionMember1;
export declare namespace QueryGetResponse {
    interface UnionMember0 {
        created: string;
        parameters: UnionMember0.Parameters | null;
        query_id: number;
        query_tag: string;
        scan: boolean;
        updated: string;
    }
    namespace UnionMember0 {
        interface Parameters {
            string_matches: Array<Parameters.StringMatch>;
            max_time?: string;
            min_time?: string;
        }
        namespace Parameters {
            interface StringMatch {
                pattern: string;
            }
        }
    }
    interface UnionMember1 {
        created: string;
        parameters: UnionMember1.Parameters | null;
        query_id: number;
        query_tag: string;
        scan: boolean;
        updated: string;
    }
    namespace UnionMember1 {
        interface Parameters {
            string_matches: Array<Parameters.StringMatch>;
            max_time?: string;
            min_time?: string;
        }
        namespace Parameters {
            interface StringMatch {
                pattern: string;
            }
        }
    }
}
export interface QueryGetParams {
    /**
     * Path param
     */
    account_id: string;
    /**
     * Query param
     */
    id?: string;
    /**
     * Query param: Optional page number for paginated list requests. Defaults to 1
     * when only per_page is supplied. Omit page and per_page to preserve the legacy
     * full-list response.
     */
    page?: number;
    /**
     * Query param: Optional number of queries per page for paginated list requests.
     * Defaults to 100 when only page is supplied. Maximum 100. Omit page and per_page
     * to preserve the legacy full-list response.
     */
    per_page?: number;
}
export declare namespace Queries {
    export { type QueryGetResponse as QueryGetResponse, type QueryGetParams as QueryGetParams };
}
//# sourceMappingURL=queries.d.mts.map