import * as z from "zod/v3";
import { ClosedEnum } from "../types/enums.js";
import { Result as SafeParseResult } from "../types/fp.js";
import { Flag } from "./flag.js";
import { MarketplaceFlag } from "./marketplaceflag.js";
import { SDKValidationError } from "./sdkvalidationerror.js";
/**
 * The state of the flags to retrieve. Defaults to `active`.
 */
export declare const QueryParamState: {
    readonly Active: "active";
    readonly Archived: "archived";
};
/**
 * The state of the flags to retrieve. Defaults to `active`.
 */
export type QueryParamState = ClosedEnum<typeof QueryParamState>;
export type ListFlagsV2Request = {
    /**
     * The project id or name
     */
    projectIdOrName: string;
    /**
     * The state of the flags to retrieve. Defaults to `active`.
     */
    state?: QueryParamState | undefined;
    /**
     * Maximum number of flags to return.
     */
    limit?: number | undefined;
    /**
     * Pagination cursor to continue from.
     */
    cursor?: string | undefined;
    /**
     * Search flags by their slug or description. Case-insensitive.
     */
    search?: string | undefined;
    /**
     * Filter flags by tag. Repeat the parameter for multiple tags (all must match).
     */
    tags?: Array<string> | undefined;
    /**
     * Filter flags by the id of the entity that created them (a user or team id).
     */
    createdBy?: string | undefined;
    /**
     * Filter flags by maintainer user id. Repeat the parameter for multiple maintainers (any may match).
     */
    maintainerIds?: Array<string> | undefined;
    /**
     * Whether to include Marketplace experimentation items in the paginated response. Defaults to false.
     */
    includeMarketplaceFlags?: boolean | undefined;
    /**
     * The Team identifier to perform the request on behalf of.
     */
    teamId?: string | undefined;
    /**
     * The Team slug to perform the request on behalf of.
     */
    slug?: string | undefined;
};
export type ListFlagsV2Pagination = {
    next: string | null;
};
export type ListFlagsV2Data = (Flag & {
    typeName: "flag";
}) | MarketplaceFlag;
export type ListFlagsV2ResponseBody = {
    pagination: ListFlagsV2Pagination;
    data: Array<(Flag & {
        typeName: "flag";
    }) | MarketplaceFlag>;
};
/** @internal */
export declare const QueryParamState$outboundSchema: z.ZodNativeEnum<typeof QueryParamState>;
/** @internal */
export type ListFlagsV2Request$Outbound = {
    projectIdOrName: string;
    state?: string | undefined;
    limit: number;
    cursor?: string | undefined;
    search?: string | undefined;
    tags?: Array<string> | undefined;
    createdBy?: string | undefined;
    maintainerIds?: Array<string> | undefined;
    includeMarketplaceFlags?: boolean | undefined;
    teamId?: string | undefined;
    slug?: string | undefined;
};
/** @internal */
export declare const ListFlagsV2Request$outboundSchema: z.ZodType<ListFlagsV2Request$Outbound, z.ZodTypeDef, ListFlagsV2Request>;
export declare function listFlagsV2RequestToJSON(listFlagsV2Request: ListFlagsV2Request): string;
/** @internal */
export declare const ListFlagsV2Pagination$inboundSchema: z.ZodType<ListFlagsV2Pagination, z.ZodTypeDef, unknown>;
export declare function listFlagsV2PaginationFromJSON(jsonString: string): SafeParseResult<ListFlagsV2Pagination, SDKValidationError>;
/** @internal */
export declare const ListFlagsV2Data$inboundSchema: z.ZodType<ListFlagsV2Data, z.ZodTypeDef, unknown>;
export declare function listFlagsV2DataFromJSON(jsonString: string): SafeParseResult<ListFlagsV2Data, SDKValidationError>;
/** @internal */
export declare const ListFlagsV2ResponseBody$inboundSchema: z.ZodType<ListFlagsV2ResponseBody, z.ZodTypeDef, unknown>;
export declare function listFlagsV2ResponseBodyFromJSON(jsonString: string): SafeParseResult<ListFlagsV2ResponseBody, SDKValidationError>;
//# sourceMappingURL=listflagsv2op.d.ts.map