export type GraviteeApi = {
    id: string;
    name: string;
    version: string;
    description?: string;
    created_at?: string;
    updated_at?: string;
    categories?: string[];
    rating_summary?: {
        average: number;
        count: number;
        one_star: number;
        two_star: number;
        three_star: number;
        four_star: number;
        five_star: number;
    };
    pages: any;
    plans: any;
    _links: any;
    owner: any;
    entrypoints: string[];
    labels: string[];
    public: boolean;
    draft: boolean;
};
export type GraviteeApiKey = {
    id: string;
    key: string;
    expired?: boolean;
    created_at: string;
    expire_at?: string;
    revoked_at?: string;
    paused?: boolean;
    revoked?: boolean;
    subscriptions: {
        id: null | string;
        api: string;
    }[];
};
export type GraviteeRawSubscription = {
    id: string;
    api: string;
    application: string;
    plan: string;
    request: string;
    created_at: string;
    processed_at?: string;
    started_at?: string;
    subscribed_by?: string;
    status: 'PENDING' | 'ACCEPTED' | 'CLOSED' | 'REJECTED' | 'PAUSED';
    keys?: GraviteeApiKey[];
};
export type GraviteeApp = {
    id: string;
    name: string;
    description?: string;
    domain?: string;
    applicationType?: string;
    hasClientId?: string;
    owner: {
        id: string;
        email?: string;
    };
    created_at: string;
    updated_at: string;
    api_key_mode: 'SHARED' | 'EXCLUSIVE' | 'UNSPECIFIED';
    settings: {
        app?: {
            type: string;
            client_id: string;
        };
        oauth?: {
            client_id: string;
            client_secret: string;
            redirect_uris?: string;
            client_uri?: string;
            logo_uri?: string;
            response_types?: string;
            grant_types?: string;
            application_type?: string;
            renew_client_secret_supported?: boolean;
        };
    };
};
type GraviteeRequest = {
    method: string;
    headers: {
        [key: string]: string[];
    };
    uri: string;
    body: string;
};
type GraviteeResponse = {
    status: number;
    headers: {
        [key: string]: string[];
    };
    body: string;
};
export type GraviteeLogDetails = {
    id: string;
    timestamp: number;
    status: number;
    path: string;
    request: GraviteeRequest;
    response: GraviteeResponse;
    requestContentLength: number;
    responseContentLength: number;
    host: string;
    user: string;
    securityType: string;
    securityToken: string;
    metadata: {
        [key: string]: {
            hostname: string;
            ip: string;
        };
    } & {
        [apiId: string]: {
            name: string;
            version?: string;
        };
    };
};
export type GraviteeLog = {
    id: string;
    api: string;
    method: string;
    path: string;
    plan: string;
    responseTime: number;
    status: number;
    timestamp: number;
    transactionId: string;
};
type Link = {
    name: string;
    resourceRef: string;
    resourceType: 'external' | 'page' | 'view';
    folder: boolean;
};
export type GraviteeLogs = {
    data: GraviteeLog[];
    metadata: {
        data: {
            total: number;
        };
    } & {
        [apiId: string]: {
            name: string;
            version?: string;
        };
    };
    links: Link[];
};
export type GraviteeLogsParams = {
    page?: number;
    size?: number;
    from?: number;
    to?: number;
    order?: 'ASC' | 'DESC';
    query?: string;
};
export {};
//# sourceMappingURL=types.d.ts.map