import * as Core from 'cloudflaredev/core';
import { APIResource } from 'cloudflaredev/resource';
import * as IndicatorFeedsAPI from 'cloudflaredev/resources/intel/indicator-feeds/indicator-feeds';
import * as PermissionsAPI from 'cloudflaredev/resources/intel/indicator-feeds/permissions';
import * as SnapshotsAPI from 'cloudflaredev/resources/intel/indicator-feeds/snapshots';
import { SinglePage } from 'cloudflaredev/pagination';
export declare class IndicatorFeeds extends APIResource {
    snapshots: SnapshotsAPI.Snapshots;
    permissions: PermissionsAPI.Permissions;
    /**
     * Create new indicator feed
     */
    create(params: IndicatorFeedCreateParams, options?: Core.RequestOptions): Core.APIPromise<IndicatorFeedCreateResponse>;
    /**
     * Update indicator feed metadata
     */
    update(feedId: number, params: IndicatorFeedUpdateParams, options?: Core.RequestOptions): Core.APIPromise<IndicatorFeedUpdateResponse>;
    /**
     * Get indicator feeds owned by this account
     */
    list(params: IndicatorFeedListParams, options?: Core.RequestOptions): Core.PagePromise<IndicatorFeedListResponsesSinglePage, IndicatorFeedListResponse>;
    /**
     * Get indicator feed data
     */
    data(feedId: number, params: IndicatorFeedDataParams, options?: Core.RequestOptions): Core.APIPromise<string>;
    /**
     * Get indicator feed metadata
     */
    get(feedId: number, params: IndicatorFeedGetParams, options?: Core.RequestOptions): Core.APIPromise<IndicatorFeedGetResponse>;
}
export declare class IndicatorFeedListResponsesSinglePage extends SinglePage<IndicatorFeedListResponse> {
}
export interface IndicatorFeedCreateResponse {
    /**
     * The unique identifier for the indicator feed
     */
    id?: number;
    /**
     * The date and time when the data entry was created
     */
    created_on?: string;
    /**
     * The description of the example test
     */
    description?: string;
    /**
     * Whether the indicator feed can be attributed to a provider
     */
    is_attributable?: boolean;
    /**
     * Whether the indicator feed is exposed to customers
     */
    is_public?: boolean;
    /**
     * The date and time when the data entry was last modified
     */
    modified_on?: string;
    /**
     * The name of the indicator feed
     */
    name?: string;
}
export interface IndicatorFeedUpdateResponse {
    /**
     * The unique identifier for the indicator feed
     */
    id?: number;
    /**
     * The date and time when the data entry was created
     */
    created_on?: string;
    /**
     * The description of the example test
     */
    description?: string;
    /**
     * Whether the indicator feed can be attributed to a provider
     */
    is_attributable?: boolean;
    /**
     * Whether the indicator feed is exposed to customers
     */
    is_public?: boolean;
    /**
     * The date and time when the data entry was last modified
     */
    modified_on?: string;
    /**
     * The name of the indicator feed
     */
    name?: string;
}
export interface IndicatorFeedListResponse {
    /**
     * The unique identifier for the indicator feed
     */
    id?: number;
    /**
     * The date and time when the data entry was created
     */
    created_on?: string;
    /**
     * The description of the example test
     */
    description?: string;
    /**
     * Whether the indicator feed can be attributed to a provider
     */
    is_attributable?: boolean;
    /**
     * Whether the indicator feed is exposed to customers
     */
    is_public?: boolean;
    /**
     * The date and time when the data entry was last modified
     */
    modified_on?: string;
    /**
     * The name of the indicator feed
     */
    name?: string;
}
export type IndicatorFeedDataResponse = string;
export interface IndicatorFeedGetResponse {
    /**
     * The unique identifier for the indicator feed
     */
    id?: number;
    /**
     * The date and time when the data entry was created
     */
    created_on?: string;
    /**
     * The description of the example test
     */
    description?: string;
    /**
     * Status of the latest snapshot uploaded
     */
    latest_upload_status?: 'Mirroring' | 'Unifying' | 'Loading' | 'Provisioning' | 'Complete' | 'Error';
    /**
     * The date and time when the data entry was last modified
     */
    modified_on?: string;
    /**
     * The name of the indicator feed
     */
    name?: string;
}
export interface IndicatorFeedCreateParams {
    /**
     * Path param: Identifier
     */
    account_id: string;
    /**
     * Body param: The description of the example test
     */
    description?: string;
    /**
     * Body param: The name of the indicator feed
     */
    name?: string;
}
export interface IndicatorFeedUpdateParams {
    /**
     * Path param: Identifier
     */
    account_id: string;
    /**
     * Body param: The new description of the feed
     */
    feed_description?: string;
    /**
     * Body param: The new is_attributable value of the feed
     */
    is_attributable?: boolean;
    /**
     * Body param: The new is_public value of the feed
     */
    is_public?: boolean;
}
export interface IndicatorFeedListParams {
    /**
     * Identifier
     */
    account_id: string;
}
export interface IndicatorFeedDataParams {
    /**
     * Identifier
     */
    account_id: string;
}
export interface IndicatorFeedGetParams {
    /**
     * Identifier
     */
    account_id: string;
}
export declare namespace IndicatorFeeds {
    export import IndicatorFeedCreateResponse = IndicatorFeedsAPI.IndicatorFeedCreateResponse;
    export import IndicatorFeedUpdateResponse = IndicatorFeedsAPI.IndicatorFeedUpdateResponse;
    export import IndicatorFeedListResponse = IndicatorFeedsAPI.IndicatorFeedListResponse;
    export import IndicatorFeedDataResponse = IndicatorFeedsAPI.IndicatorFeedDataResponse;
    export import IndicatorFeedGetResponse = IndicatorFeedsAPI.IndicatorFeedGetResponse;
    export import IndicatorFeedListResponsesSinglePage = IndicatorFeedsAPI.IndicatorFeedListResponsesSinglePage;
    export import IndicatorFeedCreateParams = IndicatorFeedsAPI.IndicatorFeedCreateParams;
    export import IndicatorFeedUpdateParams = IndicatorFeedsAPI.IndicatorFeedUpdateParams;
    export import IndicatorFeedListParams = IndicatorFeedsAPI.IndicatorFeedListParams;
    export import IndicatorFeedDataParams = IndicatorFeedsAPI.IndicatorFeedDataParams;
    export import IndicatorFeedGetParams = IndicatorFeedsAPI.IndicatorFeedGetParams;
    export import Snapshots = SnapshotsAPI.Snapshots;
    export import SnapshotUpdateResponse = SnapshotsAPI.SnapshotUpdateResponse;
    export import SnapshotUpdateParams = SnapshotsAPI.SnapshotUpdateParams;
    export import Permissions = PermissionsAPI.Permissions;
    export import PermissionCreateResponse = PermissionsAPI.PermissionCreateResponse;
    export import PermissionListResponse = PermissionsAPI.PermissionListResponse;
    export import PermissionDeleteResponse = PermissionsAPI.PermissionDeleteResponse;
    export import PermissionCreateParams = PermissionsAPI.PermissionCreateParams;
    export import PermissionListParams = PermissionsAPI.PermissionListParams;
    export import PermissionDeleteParams = PermissionsAPI.PermissionDeleteParams;
}
//# sourceMappingURL=indicator-feeds.d.ts.map